]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-application.c
Move metadata manager initialisation and shutdown into EvApplication.
[evince.git] / shell / ev-application.c
index 4164d0b92c57a26729e955a8033d6d1094ad6a66..3a099f3218170b4cb553fc2c351b27bc5a38656a 100644 (file)
@@ -36,6 +36,7 @@
 #include "ev-application.h"
 #include "ev-document-factory.h"
 #include "ev-file-helpers.h"
+#include "ev-metadata-manager.h"
 #include "ev-utils.h"
 
 #ifdef ENABLE_DBUS
@@ -78,6 +79,8 @@ struct _EvApplicationClass {
        GObjectClass base_class;
 };
 
+static EvApplication *instance;
+
 G_DEFINE_TYPE (EvApplication, ev_application, G_TYPE_OBJECT);
 
 #define APPLICATION_SERVICE_NAME "org.gnome.evince.ApplicationService"
@@ -134,7 +137,9 @@ ev_application_register_service (EvApplication *application)
                                              G_OBJECT (application));
        
        application->scr_saver = totem_scrsaver_new (connection);
-       
+
+        ev_metadata_manager_init ();
+
        return TRUE;
 }
 #endif /* ENABLE_DBUS */
@@ -149,8 +154,6 @@ ev_application_register_service (EvApplication *application)
 EvApplication *
 ev_application_get_instance (void)
 {
-       static EvApplication *instance;
-
        if (!instance) {
                instance = EV_APPLICATION (g_object_new (EV_TYPE_APPLICATION, NULL));
        }
@@ -732,12 +735,15 @@ ev_application_shutdown (EvApplication *application)
        }
 #endif /* ENABLE_DBUS */
        
+        ev_metadata_manager_shutdown ();
+
         g_free (application->dot_dir);
         application->dot_dir = NULL;
        g_free (application->last_chooser_uri);
         application->last_chooser_uri = NULL;
 
        g_object_unref (application);
+        instance = NULL;
        
        gtk_main_quit ();
 }