diff options
Diffstat (limited to 'app-text/gtranslator/files/gtranslator-2.91.5-gdl-3.6-3.patch')
-rw-r--r-- | app-text/gtranslator/files/gtranslator-2.91.5-gdl-3.6-3.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/app-text/gtranslator/files/gtranslator-2.91.5-gdl-3.6-3.patch b/app-text/gtranslator/files/gtranslator-2.91.5-gdl-3.6-3.patch new file mode 100644 index 000000000000..15b4d750c50d --- /dev/null +++ b/app-text/gtranslator/files/gtranslator-2.91.5-gdl-3.6-3.patch @@ -0,0 +1,55 @@ +From 398ebe3e8b5271261423d60849452423bf0dfb51 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9bastien=20Granjoux?= <seb.sfo@free.fr> +Date: Tue, 20 Nov 2012 21:57:53 +0100 +Subject: [PATCH 3/3] Another fix for bgo#680399 - gtranslator 2.91.5 + segfaults trying to use any plugin (gnome 3.5.x stack) + +Keep saving the layout on each change but connect the signal after loading the +layout and disconnect it after saving it for the last time. +--- + src/gtr-tab.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/src/gtr-tab.c b/src/gtr-tab.c +index 4c7760a..2ebf60b 100644 +--- a/src/gtr-tab.c ++++ b/src/gtr-tab.c +@@ -671,6 +671,13 @@ save_layout (GtrTab *tab) + } + + static void ++on_layout_changed (GdlDockMaster *master, ++ GtrTab *tab) ++{ ++ save_layout (tab); ++} ++ ++static void + extension_added (PeasExtensionSet *extensions, + PeasPluginInfo *info, + PeasExtension *exten, +@@ -882,6 +889,9 @@ gtr_tab_dispose (GObject * object) + + if (!priv->dispose_has_run) + { ++ g_signal_handlers_disconnect_by_func (gdl_dock_layout_get_master (priv->layout_manager), ++ G_CALLBACK (on_layout_changed), ++ object); + save_layout (GTR_TAB (object)); + priv->dispose_has_run = TRUE; + } +@@ -962,6 +972,11 @@ gtr_tab_realize (GtkWidget *widget) + g_free (filename); + + tab->priv->tab_realized = TRUE; ++ ++ g_signal_connect (gdl_dock_layout_get_master (tab->priv->layout_manager), ++ "layout-changed", ++ G_CALLBACK (on_layout_changed), ++ tab); + } + } + +-- +1.8.0 + |