[gnome-color-manager] trivial: make GcmXserver a singleton to save a few bytes of writable
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-color-manager] trivial: make GcmXserver a singleton to save a few bytes of writable
- Date: Mon, 22 Feb 2010 14:24:50 +0000 (UTC)
commit 6dcd2f19fe31748340c3a8320cfec345c112d539
Author: Richard Hughes <richard hughsie com>
Date: Mon Feb 22 14:17:35 2010 +0000
trivial: make GcmXserver a singleton to save a few bytes of writable
src/gcm-xserver.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/src/gcm-xserver.c b/src/gcm-xserver.c
index 491112b..c895dc6 100644
--- a/src/gcm-xserver.c
+++ b/src/gcm-xserver.c
@@ -66,6 +66,8 @@ enum {
PROP_LAST
};
+static gpointer gcm_xserver_object = NULL;
+
G_DEFINE_TYPE (GcmXserver, gcm_xserver, G_TYPE_OBJECT)
/**
@@ -595,8 +597,12 @@ gcm_xserver_finalize (GObject *object)
GcmXserver *
gcm_xserver_new (void)
{
- GcmXserver *xserver;
- xserver = g_object_new (GCM_TYPE_XSERVER, NULL);
- return GCM_XSERVER (xserver);
+ if (gcm_xserver_object != NULL) {
+ g_object_ref (gcm_xserver_object);
+ } else {
+ gcm_xserver_object = g_object_new (GCM_TYPE_XSERVER, NULL);
+ g_object_add_weak_pointer (gcm_xserver_object, &gcm_xserver_object);
+ }
+ return GCM_XSERVER (gcm_xserver_object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]