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);
}
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits