summaryrefslogtreecommitdiffstats
path: root/x11/gnome-panel/files/patch-gnome-panel_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11/gnome-panel/files/patch-gnome-panel_menu.c')
-rw-r--r--x11/gnome-panel/files/patch-gnome-panel_menu.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/x11/gnome-panel/files/patch-gnome-panel_menu.c b/x11/gnome-panel/files/patch-gnome-panel_menu.c
new file mode 100644
index 000000000..aa7aeae8c
--- /dev/null
+++ b/x11/gnome-panel/files/patch-gnome-panel_menu.c
@@ -0,0 +1,42 @@
+--- gnome-panel/menu.c.orig Sat Mar 26 15:12:10 2005
++++ gnome-panel/menu.c Fri Jun 3 11:17:45 2005
+@@ -1535,8 +1535,8 @@
+ return NULL;
+ }
+
+-static void
+-image_menu_shown (GtkWidget *image, gpointer data)
++static gboolean
++image_menu_exposed (GtkWidget *image, GdkEventExpose *event, gpointer data)
+ {
+ IconToLoad *new_icon;
+ IconToLoad *icon;
+@@ -1545,7 +1545,7 @@
+
+ /* if we've already handled this */
+ if (gtk_image_get_storage_type (GTK_IMAGE (image)) != GTK_IMAGE_EMPTY)
+- return;
++ return FALSE; /* propagate event */
+
+ if (find_in_load_list (image) == NULL) {
+ new_icon = icon_to_load_copy (icon);
+@@ -1554,6 +1554,8 @@
+ }
+ if (load_icons_id == 0)
+ load_icons_id = g_idle_add (load_icons_handler, NULL);
++
++ return FALSE; /* propagate event */
+ }
+
+ static void
+@@ -1601,8 +1603,8 @@
+ gtk_image_menu_item_set_image (
+ GTK_IMAGE_MENU_ITEM (image_menu_item), image);
+
+- g_signal_connect_data (image, "map",
+- G_CALLBACK (image_menu_shown), icon,
++ g_signal_connect_data (image, "expose-event",
++ G_CALLBACK (image_menu_exposed), icon,
+ (GClosureNotify) icon_to_load_free, 0);
+
+ g_signal_connect (image, "destroy",