[Xfce4-commits] r22598 - xfmedia/branches/experimental/src

Brian Tarricone kelnos at xfce.org
Tue Aug 1 02:40:13 UTC 2006


Author: kelnos
Date: 2006-08-01 02:40:12 +0000 (Tue, 01 Aug 2006)
New Revision: 22598

Modified:
   xfmedia/branches/experimental/src/xfmedia-application.c
Log:
turn XfmediaApplication into a singleton


Modified: xfmedia/branches/experimental/src/xfmedia-application.c
===================================================================
--- xfmedia/branches/experimental/src/xfmedia-application.c	2006-08-01 02:27:19 UTC (rev 22597)
+++ xfmedia/branches/experimental/src/xfmedia-application.c	2006-08-01 02:40:12 UTC (rev 22598)
@@ -38,7 +38,9 @@
 static void xfmedia_application_init(XfmediaApplication *application);
 static void xfmedia_application_finalize(GObject *obj);
 
+static XfmediaApplication *g_application = NULL;
 
+
 G_DEFINE_TYPE(XfmediaApplication, xfmedia_application, G_TYPE_OBJECT)
 
 
@@ -69,21 +71,26 @@
     }
     
     g_free(application->priv);
+    
+    G_OBJECT_CLASS(xfmedia_application_parent_class)->finalize(obj);
 }
 
 
 XfmediaApplication *
-xfmedia_application_new()
+xfmedia_application_get()
 {
-    return g_object_new(XFMEDIA_TYPE_APPLICATION, NULL);
+    if(!g_application)
+        g_application = g_object_new(XFMEDIA_TYPE_APPLICATION, NULL));    
+    
+    return g_application;
 }
 
 void
-xfmedia_application_quit(XfmediaApplication *application)
+xfmedia_application_quit()
 {
-    g_return_if_fail(XFMEDIA_IS_APPLICATION(application));
+    g_return_if_fail(XFMEDIA_IS_APPLICATION(g_application));
     
-    g_object_unref(G_OBJECT(application));
+    g_object_unref(G_OBJECT(g_application));
     
     exit(0);
 }



More information about the Xfce4-commits mailing list