[tepl] App: metadata: connect to ::shutdown with the after flag



commit c1ef2f57761b73a328bf4392a7f759e38b3a633b
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sun May 3 16:31:28 2020 +0200

    App: metadata: connect to ::shutdown with the after flag

 tepl/tepl-application.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/tepl/tepl-application.c b/tepl/tepl-application.c
index a7ea768..ae84e59 100644
--- a/tepl/tepl-application.c
+++ b/tepl/tepl-application.c
@@ -634,8 +634,8 @@ handle_metadata__startup_cb (GtkApplication  *gtk_app,
 }
 
 static void
-handle_metadata__shutdown_cb (GtkApplication  *gtk_app,
-                             TeplApplication *tepl_app)
+handle_metadata__shutdown_after_cb (GtkApplication  *gtk_app,
+                                   TeplApplication *tepl_app)
 {
        TeplAbstractFactory *factory = tepl_abstract_factory_get_singleton ();
        TeplMetadataManager *manager = tepl_metadata_manager_get_singleton ();
@@ -686,11 +686,14 @@ tepl_application_handle_metadata (TeplApplication *tepl_app)
                                         tepl_app,
                                         0);
 
+               /* Connect with G_CONNECT_AFTER, so that GTK is properly
+                * shutdown. Saving metadata should be done last.
+                */
                g_signal_connect_object (tepl_app->priv->gtk_app,
                                         "shutdown",
-                                        G_CALLBACK (handle_metadata__shutdown_cb),
+                                        G_CALLBACK (handle_metadata__shutdown_after_cb),
                                         tepl_app,
-                                        0);
+                                        G_CONNECT_AFTER);
 
                tepl_app->priv->handle_metadata = TRUE;
        }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]