diff options
Diffstat (limited to 'testing/gnome-panel/fix-crasher-launchers.patch')
-rw-r--r-- | testing/gnome-panel/fix-crasher-launchers.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/gnome-panel/fix-crasher-launchers.patch b/testing/gnome-panel/fix-crasher-launchers.patch new file mode 100644 index 000000000..b15fdf29c --- /dev/null +++ b/testing/gnome-panel/fix-crasher-launchers.patch @@ -0,0 +1,42 @@ +From 8c275a2adf4ad99297a17cabf251344837620831 Mon Sep 17 00:00:00 2001 +From: Josselin Mouette <joss@malsain.org> +Date: Mon, 11 Apr 2011 13:05:32 +0000 +Subject: panel: Fix crash when starting launcher + +Do not destroy a widget in its draw signal. This is bad. Really. + +This was happening in the animation that is being drawn after clicking a +launcher. + +https://bugzilla.gnome.org/show_bug.cgi?id=641325 +--- +diff --git a/gnome-panel/xstuff.c b/gnome-panel/xstuff.c +index 8465341..5acbf66 100644 +--- a/gnome-panel/xstuff.c ++++ b/gnome-panel/xstuff.c +@@ -305,6 +305,14 @@ zoom_timeout (GtkWidget *window) + } + + static gboolean ++idle_destroy (gpointer data) ++{ ++ gtk_widget_destroy (GTK_WIDGET (data)); ++ ++ return FALSE; ++} ++ ++static gboolean + zoom_draw (GtkWidget *widget, + cairo_t *cr, + gpointer user_data) +@@ -323,7 +331,7 @@ zoom_draw (GtkWidget *widget, + + g_slice_free (CompositedZoomData, zoom); + +- gtk_widget_destroy (widget); ++ g_idle_add (idle_destroy, widget); + } else { + GdkPixbuf *scaled; + int width, height; +-- +cgit v0.9 |