[Goodies-commits] r4522 - in xfce4-places-plugin/trunk: . panel-plugin

Diego Ongaro ongardie at xfce.org
Sun Apr 6 23:38:56 CEST 2008


Author: ongardie
Date: 2008-04-06 21:38:56 +0000 (Sun, 06 Apr 2008)
New Revision: 4522

Modified:
   xfce4-places-plugin/trunk/ChangeLog
   xfce4-places-plugin/trunk/panel-plugin/view.c
Log:
2008-04-06	Diego Ongaro <ongardie at gmail.com>

* view.c: Reposition Recent Docs submenu after Clear (Bug 3872)


Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog	2008-04-06 20:51:41 UTC (rev 4521)
+++ xfce4-places-plugin/trunk/ChangeLog	2008-04-06 21:38:56 UTC (rev 4522)
@@ -1,3 +1,7 @@
+2008-04-06	Diego Ongaro <ongardie at gmail.com>
+
+	* view.c: Reposition Recent Docs submenu after Clear (Bug #3872)
+
 2008-01-07	Diego Ongaro <ongardie at gmail.com>
 
 	* button.{c,h}: Created a button widget to modularize view code

Modified: xfce4-places-plugin/trunk/panel-plugin/view.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/view.c	2008-04-06 20:51:41 UTC (rev 4521)
+++ xfce4-places-plugin/trunk/panel-plugin/view.c	2008-04-06 21:38:56 UTC (rev 4522)
@@ -464,13 +464,25 @@
 }
 
 static gboolean
-pview_cb_recent_items_clear(GtkWidget *clear_item)
+pview_cb_recent_items_clear(GtkWidget *clear_item, GtkWidget *recent_menu)
 {
     GtkRecentManager *manager = gtk_recent_manager_get_default();
     gint removed = gtk_recent_manager_purge_items(manager, NULL);
     DBG("Cleared %d recent items", removed);
+
+    while(gtk_events_pending())
+        gtk_main_iteration();
+    gtk_menu_reposition(GTK_MENU(recent_menu));
+
     return TRUE;
 }
+
+static gboolean
+pview_cb_recent_items_clear3(GtkWidget *clear_item, GdkEventButton *event, GtkWidget *recent_menu)
+{
+    return pview_cb_recent_items_clear(clear_item, recent_menu);
+}
+
 #endif
 
 
@@ -667,10 +679,10 @@
 
             /* try button-release-event to catch mouse clicks and not hide the menu after */
             g_signal_connect(clear_item, "button-release-event",
-                             G_CALLBACK(pview_cb_recent_items_clear), NULL);
+                             G_CALLBACK(pview_cb_recent_items_clear3), recent_menu);
             /* use activate when button-release-event doesn't catch it (e.g., enter key pressed) */
             g_signal_connect(clear_item, "activate",
-                             G_CALLBACK(pview_cb_recent_items_clear), NULL);
+                             G_CALLBACK(pview_cb_recent_items_clear), recent_menu);
     
         }
     




More information about the Goodies-commits mailing list