[Goodies-commits] r7107 - in xfce4-power-manager/trunk: . src
Ali Abdallah
aliov at xfce.org
Sat Apr 4 11:30:12 CEST 2009
Author: aliov
Date: 2009-04-04 09:30:12 +0000 (Sat, 04 Apr 2009)
New Revision: 7107
Modified:
xfce4-power-manager/trunk/ChangeLog
xfce4-power-manager/trunk/src/xfpm-engine.c
xfce4-power-manager/trunk/src/xfpm-shutdown.c
xfce4-power-manager/trunk/src/xfpm-shutdown.h
xfce4-power-manager/trunk/src/xfpm-tray-icon.c
Log:
Fix issue with multiple suspend callback
Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog 2009-04-03 19:22:19 UTC (rev 7106)
+++ xfce4-power-manager/trunk/ChangeLog 2009-04-04 09:30:12 UTC (rev 7107)
@@ -1,4 +1,7 @@
+2009-04-04 11:30 Ali aliov at xfce.org
+ * : Fix issue with multiple suspend callback
+
2009-04-03 13:37 Ali aliov at xfce.org
* : Fix issue with battery critical level in the settings dialog
Modified: xfce4-power-manager/trunk/src/xfpm-engine.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-engine.c 2009-04-03 19:22:19 UTC (rev 7106)
+++ xfce4-power-manager/trunk/src/xfpm-engine.c 2009-04-04 09:30:12 UTC (rev 7107)
@@ -88,6 +88,8 @@
gboolean has_lcd_brightness;
gboolean has_lid;
+
+ gboolean block;
};
enum
@@ -172,13 +174,17 @@
}
else if (shutdown == XFPM_DO_HIBERNATE)
{
- g_timeout_add_seconds (2, (GSourceFunc) xfpm_engine_do_hibernate,
- engine);
+ xfpm_shutdown_add_callback (engine->priv->shutdown,
+ (GSourceFunc) xfpm_engine_do_hibernate,
+ 2,
+ engine);
}
else if (shutdown == XFPM_DO_SUSPEND)
{
- g_timeout_add_seconds (2, (GSourceFunc) xfpm_engine_do_suspend,
- engine);
+ xfpm_shutdown_add_callback (engine->priv->shutdown,
+ (GSourceFunc) xfpm_engine_do_suspend,
+ 2,
+ engine);
}
if (lock_screen)
Modified: xfce4-power-manager/trunk/src/xfpm-shutdown.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-shutdown.c 2009-04-03 19:22:19 UTC (rev 7106)
+++ xfce4-power-manager/trunk/src/xfpm-shutdown.c 2009-04-04 09:30:12 UTC (rev 7107)
@@ -350,6 +350,21 @@
return XFPM_SHUTDOWN (xfpm_shutdown_object);
}
+gboolean xfpm_shutdown_add_callback (XfpmShutdown *shutdown,
+ GSourceFunc func,
+ guint timeout,
+ gpointer data)
+{
+ g_return_val_if_fail (XFPM_IS_SHUTDOWN (shutdown), FALSE);
+
+ if (shutdown->priv->block_shutdown)
+ return FALSE;
+
+ g_timeout_add_seconds (timeout, func, data);
+ shutdown->priv->block_shutdown = TRUE;
+ return TRUE;
+}
+
void xfpm_shutdown (XfpmShutdown *shutdown, GError **error)
{
g_return_if_fail (XFPM_IS_SHUTDOWN(shutdown));
@@ -360,9 +375,8 @@
return;
}
- if ( shutdown->priv->block_shutdown )
- return;
xfpm_shutdown_internal (dbus_g_connection_get_connection(shutdown->priv->bus), "Shutdown", NULL);
+ shutdown->priv->block_shutdown = FALSE;
}
void xfpm_hibernate (XfpmShutdown *shutdown, GError **error)
@@ -378,13 +392,9 @@
return;
}
- if ( shutdown->priv->block_shutdown )
- return;
-
- shutdown->priv->block_shutdown = TRUE;
xfpm_shutdown_internal (dbus_g_connection_get_connection(shutdown->priv->bus), "Hibernate", &error_internal);
shutdown->priv->block_shutdown = FALSE;
-
+
if ( error_internal )
{
g_warning ("%s", error_internal->message);
@@ -410,10 +420,6 @@
return;
}
- if ( shutdown->priv->block_shutdown )
- return;
-
- shutdown->priv->block_shutdown = TRUE;
xfpm_shutdown_internal (dbus_g_connection_get_connection(shutdown->priv->bus), "Suspend", &error_internal);
shutdown->priv->block_shutdown = FALSE;
Modified: xfce4-power-manager/trunk/src/xfpm-shutdown.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-shutdown.h 2009-04-03 19:22:19 UTC (rev 7106)
+++ xfce4-power-manager/trunk/src/xfpm-shutdown.h 2009-04-04 09:30:12 UTC (rev 7107)
@@ -54,6 +54,12 @@
GType xfpm_shutdown_get_type (void) G_GNUC_CONST;
XfpmShutdown *xfpm_shutdown_new (void);
+gboolean xfpm_shutdown_add_callback (XfpmShutdown *shutdown,
+ GSourceFunc func,
+ guint timeout,
+ gpointer data);
+
+
void xfpm_shutdown (XfpmShutdown *shutdown,
GError **error);
Modified: xfce4-power-manager/trunk/src/xfpm-tray-icon.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-tray-icon.c 2009-04-03 19:22:19 UTC (rev 7106)
+++ xfce4-power-manager/trunk/src/xfpm-tray-icon.c 2009-04-04 09:30:12 UTC (rev 7107)
@@ -171,7 +171,11 @@
lock_screen = xfpm_xfconf_get_property_bool (tray->priv->conf, LOCK_SCREEN_ON_SLEEP);
if ( lock_screen )
xfpm_lock_screen ();
- g_timeout_add_seconds (4, (GSourceFunc) xfpm_tray_icon_do_hibernate, tray);
+
+ xfpm_shutdown_add_callback (tray->priv->shutdown,
+ (GSourceFunc) xfpm_tray_icon_do_hibernate,
+ 2,
+ tray);
xfpm_send_message_to_network_manager ("sleep");
}
}
@@ -198,7 +202,12 @@
lock_screen = xfpm_xfconf_get_property_bool (tray->priv->conf, LOCK_SCREEN_ON_SLEEP);
if ( lock_screen )
xfpm_lock_screen ();
- g_timeout_add_seconds (4, (GSourceFunc) xfpm_tray_icon_do_suspend, tray);
+
+ xfpm_shutdown_add_callback (tray->priv->shutdown,
+ (GSourceFunc) xfpm_tray_icon_do_suspend,
+ 2,
+ tray);
+
xfpm_send_message_to_network_manager ("sleep");
}
}
@@ -208,7 +217,7 @@
{
gboolean ret;
- ret = xfce_confirm (_("Exit Xfce power manager"),
+ ret = xfce_confirm (_("Quit the Xfce power manager"),
GTK_STOCK_YES,
_("Quit"));
if ( ret )
More information about the Goodies-commits
mailing list