[Xfce4-commits] [apps/xfdashboard] 01/02: Reorder emitting "quit" signal of application before the stage is destroyed so plugin which rely on the stage being still accessible can still access the stage on shut-down of application.

noreply at xfce.org noreply at xfce.org
Tue Jun 21 14:16:37 CEST 2016


This is an automated email from the git hooks/post-receive script.

nomad pushed a commit to branch master
in repository apps/xfdashboard.

commit 3074048e3d527515c41accb8abfade3987283c5d
Author: Stephan Haller <nomad at froevel.de>
Date:   Tue Jun 21 14:11:40 2016 +0200

    Reorder emitting "quit" signal of application before the stage is destroyed so plugin which rely on the stage being still accessible can still access the stage on shut-down of application.
    
    This is the consequence of "initialized" signal on which plugin can rely on to be sure that the stage exists on start-up.
---
 libxfdashboard/application.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/libxfdashboard/application.c b/libxfdashboard/application.c
index b728d31..2c47a5f 100644
--- a/libxfdashboard/application.c
+++ b/libxfdashboard/application.c
@@ -188,6 +188,9 @@ static void _xfdashboard_application_quit(XfdashboardApplication *self, gboolean
 			xfce_sm_client_set_restart_style(priv->sessionManagementClient, XFCE_SM_CLIENT_RESTART_NORMAL);
 		}
 
+		/* Emit "quit" signal */
+		g_signal_emit(self, XfdashboardApplicationSignals[SIGNAL_QUIT], 0);
+
 		/* Destroy stage */
 		if(priv->stage)
 		{
@@ -195,9 +198,6 @@ static void _xfdashboard_application_quit(XfdashboardApplication *self, gboolean
 			priv->stage=NULL;
 		}
 
-		/* Emit "quit" signal */
-		g_signal_emit(self, XfdashboardApplicationSignals[SIGNAL_QUIT], 0);
-
 		/* Really quit application here and now */
 		if(priv->initialized)
 		{
@@ -1150,7 +1150,8 @@ static void xfdashboard_application_class_init(XfdashboardApplicationClass *klas
 	 * XfdashboardApplication::quit:
 	 * @self: The application going to quit
 	 *
-	 * The ::quit signal is emitted when the application is going to quit.
+	 * The ::quit signal is emitted when the application is going to quit. This
+	 * signal is definitely emitted before the stage is destroyed.
 	 *
 	 * The main purpose of this signal is to give other objects and plugin
 	 * a chance to clean-up properly.
@@ -1171,7 +1172,9 @@ static void xfdashboard_application_class_init(XfdashboardApplicationClass *klas
 	 * @self: The application being destroyed
 	 *
 	 * The ::shutdown-final signal is emitted when the application object
-	 * is currently destroyed and can be considered as quitted.
+	 * is currently destroyed and can be considered as quitted. The stage is
+	 * detroyed when this signal is emitted and only the non-visible managers
+	 * are still accessible at this time.
 	 */
 	XfdashboardApplicationSignals[SIGNAL_SHUTDOWN_FINAL]=
 		g_signal_new("shutdown-final",

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list