diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:45:00 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:45:00 +0200 |
commit | 5acba24490a47edca8a38013461675a41f442f53 (patch) | |
tree | 4f73470c6c762235c28bc0e55a1af6fa0436798f /xfce-base/xfce4-appfinder/files/xfce4-appfinder-4.10.0-icon-theme-segfault.patch | |
parent | 5d65d52a7227128a8524fe1c9c0cf5ba5b10c2d1 (diff) |
Added xfce base gentoo origin ebuilds. will split later if needed
Diffstat (limited to 'xfce-base/xfce4-appfinder/files/xfce4-appfinder-4.10.0-icon-theme-segfault.patch')
-rw-r--r-- | xfce-base/xfce4-appfinder/files/xfce4-appfinder-4.10.0-icon-theme-segfault.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/xfce-base/xfce4-appfinder/files/xfce4-appfinder-4.10.0-icon-theme-segfault.patch b/xfce-base/xfce4-appfinder/files/xfce4-appfinder-4.10.0-icon-theme-segfault.patch new file mode 100644 index 00000000..02e3e7b1 --- /dev/null +++ b/xfce-base/xfce4-appfinder/files/xfce4-appfinder-4.10.0-icon-theme-segfault.patch @@ -0,0 +1,63 @@ +From eb46f5acd4b0b985a94bee6942d6527f9f620b84 Mon Sep 17 00:00:00 2001 +From: Nick Schermer <nick@xfce.org> +Date: Sat, 16 Mar 2013 18:03:01 +0000 +Subject: Detatch from icon theme to avoid segfault (bug #9730). + +--- +diff --git a/src/appfinder-window.c b/src/appfinder-window.c +index d3cd567..b5ca272 100644 +--- a/src/appfinder-window.c ++++ b/src/appfinder-window.c +@@ -129,6 +129,8 @@ struct _XfceAppfinderWindow + + XfceAppfinderActions *actions; + ++ GtkIconTheme *icon_theme; ++ + GtkEntryCompletion *completion; + + XfconfChannel *channel; +@@ -204,7 +206,6 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window) + GtkWidget *bbox; + GtkWidget *button; + GtkEntryCompletion *completion; +- GtkIconTheme *icon_theme; + gint integer; + + window->channel = xfconf_channel_get ("xfce4-appfinder"); +@@ -400,9 +401,10 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window) + image = gtk_image_new_from_stock (GTK_STOCK_EXECUTE, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image (GTK_BUTTON (button), image); + +- icon_theme = gtk_icon_theme_get_for_screen (gtk_window_get_screen (GTK_WINDOW (window))); +- g_signal_connect_swapped (G_OBJECT (icon_theme), "changed", ++ window->icon_theme = gtk_icon_theme_get_for_screen (gtk_window_get_screen (GTK_WINDOW (window))); ++ g_signal_connect_swapped (G_OBJECT (window->icon_theme), "changed", + G_CALLBACK (xfce_appfinder_window_icon_theme_changed), window); ++ g_object_ref (G_OBJECT (window->icon_theme)); + + /* load categories in the model */ + xfce_appfinder_window_category_set_categories (NULL, window); +@@ -432,6 +434,11 @@ xfce_appfinder_window_finalize (GObject *object) + g_signal_handler_disconnect (window->channel, window->property_watch_id); + g_signal_handler_disconnect (window->model, window->categories_changed_id); + ++ /* release our reference on the icon theme */ ++ g_signal_handlers_disconnect_by_func (G_OBJECT (window->icon_theme), ++ xfce_appfinder_window_icon_theme_changed, window); ++ g_object_unref (G_OBJECT (window->icon_theme)); ++ + g_object_unref (G_OBJECT (window->model)); + g_object_unref (G_OBJECT (window->category_model)); + g_object_unref (G_OBJECT (window->completion)); +@@ -1520,6 +1527,8 @@ xfce_appfinder_window_row_activated (XfceAppfinderWindow *window) + static void + xfce_appfinder_window_icon_theme_changed (XfceAppfinderWindow *window) + { ++ appfinder_return_if_fail (XFCE_IS_APPFINDER_WINDOW (window)); ++ + if (window->icon_find != NULL) + g_object_unref (G_OBJECT (window->icon_find)); + window->icon_find = xfce_appfinder_model_load_pixbuf (GTK_STOCK_FIND, XFCE_APPFINDER_ICON_SIZE_48); +-- +cgit v0.9.1 |