[Xfce4-commits] r22645 - in xfce4-panel/trunk: . panel plugins/launcher

Jasper Huijsmans jasper at xfce.org
Thu Aug 3 21:00:33 UTC 2006


Author: jasper
Date: 2006-08-03 21:00:33 +0000 (Thu, 03 Aug 2006)
New Revision: 22645

Modified:
   xfce4-panel/trunk/configure.ac.in
   xfce4-panel/trunk/panel/panel-app.c
   xfce4-panel/trunk/panel/panel-properties.c
   xfce4-panel/trunk/panel/panel.c
   xfce4-panel/trunk/plugins/launcher/launcher.c
Log:
Remove or increase some timeouts and handle delete-event on the panel window (bug #2116).

Modified: xfce4-panel/trunk/configure.ac.in
===================================================================
--- xfce4-panel/trunk/configure.ac.in	2006-08-03 20:06:57 UTC (rev 22644)
+++ xfce4-panel/trunk/configure.ac.in	2006-08-03 21:00:33 UTC (rev 22645)
@@ -5,10 +5,21 @@
 dnl 2005-2006 Jasper Huijsmans <jasper at xfce.org>
 dnl
 
-dnl version info
-m4_define([xfce4_panel_version],[4.3.90.2])
+dnl library version info
 m4_define([libxfce4panel_verinfo], [2:0:1])
 
+dnl panel version info
+m4_define([xfce4_panel_version_major], [4])
+m4_define([xfce4_panel_version_minor], [3])
+m4_define([xfce4_panel_version_micro], [90])
+m4_define([xfce4_panel_version_nano],  [2])   dnl leave this empty to have no nano version
+m4_define([xfce4_panel_version_build], [@REVISION@])
+m4_define([xfce4_panel_version_tag],   [svn])
+
+m4_define([xfce4_panel_version], [xfce4_panel_version_major().xfce4_panel_version_minor().xfce4_panel_version_micro()ifelse(xfce4_panel_version_nano(), [], [], [.xfce4_panel_version_nano()])ifelse(xfce4_panel_version_tag(), [svn], [xfce4_panel_version_tag()-xfce4_panel_version_build()], [xfce4_panel_version_tag()])])
+
+
+
 dnl init autoconf
 AC_COPYRIGHT([Copyright (c) 2002-2006
         The Xfce development team. All rights reserved.

Modified: xfce4-panel/trunk/panel/panel-app.c
===================================================================
--- xfce4-panel/trunk/panel/panel-app.c	2006-08-03 20:06:57 UTC (rev 22644)
+++ xfce4-panel/trunk/panel/panel-app.c	2006-08-03 21:00:33 UTC (rev 22645)
@@ -253,6 +253,10 @@
 
     if (quit)
     {
+        if (panel_app.save_id)
+            g_source_remove (panel_app.save_id);
+        panel_app.save_id = 0;
+
         /* this is necessary, because the function is not only called from the
          * timeout, so just returning FALSE is not enough. */
         g_source_remove (panel_app.check_id);
@@ -607,7 +611,7 @@
 
     /* Run Forrest, Run! */
     panel_app.check_id = 
-        g_timeout_add (250, (GSourceFunc) check_signal_state, NULL);
+        g_timeout_add (1000, (GSourceFunc) check_signal_state, NULL);
     panel_app.runstate = PANEL_RUN_STATE_NORMAL;
     TIMER_ELAPSED("start main loop");
     gtk_main ();
@@ -684,6 +688,7 @@
 void 
 panel_app_quit (void)
 {
+    panel_app_save();
     panel_app.runstate = PANEL_RUN_STATE_QUIT;
     check_signal_state ();
 }

Modified: xfce4-panel/trunk/panel/panel-properties.c
===================================================================
--- xfce4-panel/trunk/panel/panel-properties.c	2006-08-03 20:06:57 UTC (rev 22644)
+++ xfce4-panel/trunk/panel/panel-properties.c	2006-08-03 21:00:33 UTC (rev 22645)
@@ -1181,10 +1181,6 @@
             priv->xoffset = priv->yoffset = 0;
         }
 
-        /* let changes take effect */
-        while (gtk_events_pending ())
-            gtk_main_iteration ();
-
         xfce_panel_window_set_move_function (XFCE_PANEL_WINDOW (panel),
                 (XfcePanelWindowMoveFunc)panel_move_function, panel);
 

Modified: xfce4-panel/trunk/panel/panel.c
===================================================================
--- xfce4-panel/trunk/panel/panel.c	2006-08-03 20:06:57 UTC (rev 22644)
+++ xfce4-panel/trunk/panel/panel.c	2006-08-03 21:00:33 UTC (rev 22645)
@@ -256,6 +256,9 @@
     gtk_widget_show (priv->itembar);
     gtk_container_add (GTK_CONTAINER (panel), priv->itembar);
 
+    /* don't allow the wm to close the panel window */
+    g_signal_connect (panel, "delete-event", G_CALLBACK (gtk_true), NULL);
+
     /* DND */
     g_signal_connect (priv->itembar, "drag-data-received", 
                       G_CALLBACK (_panel_drag_data_received), panel);
@@ -520,7 +523,7 @@
         plugin = priv->drag_widget;
 
         /* allow menu to close, in order to not mess up the snapshot of the
-         * plugin */
+         * plugin -- TODO: find a better way to do this */
         while (gtk_events_pending ())
             gtk_main_iteration ();
     }
@@ -763,7 +766,7 @@
     {
         DBG (" + %d item(s) on the panel", 
              xfce_itembar_get_n_items (XFCE_ITEMBAR (priv->itembar)));
-        g_usleep (100000); /* 1/10 sec */
+        g_usleep (200000); /* 0.2 sec */
 
         while (gtk_events_pending ())
             gtk_main_iteration ();

Modified: xfce4-panel/trunk/plugins/launcher/launcher.c
===================================================================
--- xfce4-panel/trunk/plugins/launcher/launcher.c	2006-08-03 20:06:57 UTC (rev 22644)
+++ xfce4-panel/trunk/plugins/launcher/launcher.c	2006-08-03 21:00:33 UTC (rev 22645)
@@ -750,13 +750,6 @@
     gtk_tooltips_set_tip (launcher->tips, launcher->iconbutton, tip, NULL);
 }
 
-static gboolean
-update_panel_entry_idle (LauncherPlugin *launcher)
-{
-    launcher_update_panel_entry (launcher);
-    return FALSE;
-}
-
 static void
 launcher_position_menu (GtkMenu * menu, int *x, int *y, gboolean * push_in,
                         GtkWidget *b)
@@ -1044,7 +1037,7 @@
     
     xfce_rc_close (rc);
     
-    g_idle_add ((GSourceFunc)update_panel_entry_idle, launcher);
+    launcher_update_panel_entry (launcher);
     launcher_recreate_menu (launcher);
 }
 
@@ -1307,7 +1300,7 @@
 
         g_ptr_array_add (launcher->entries, entry);
 
-        g_idle_add ((GSourceFunc)update_panel_entry_idle, launcher);
+        launcher_update_panel_entry (launcher);
     }
     else if (launcher->entries->len > 1)
     {



More information about the Xfce4-commits mailing list