[gnome-color-manager] trivial: make GcmDmi 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 GcmDmi a singleton to save a few bytes of writable
- Date: Mon, 22 Feb 2010 14:25:00 +0000 (UTC)
commit b27727d7f40e9516ba931d511b89d97dbe96b18d
Author: Richard Hughes <richard hughsie com>
Date: Mon Feb 22 14:18:51 2010 +0000
trivial: make GcmDmi a singleton to save a few bytes of writable
src/gcm-dmi.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/src/gcm-dmi.c b/src/gcm-dmi.c
index 2c4c8db..6740e0b 100644
--- a/src/gcm-dmi.c
+++ b/src/gcm-dmi.c
@@ -63,6 +63,8 @@ enum {
PROP_LAST
};
+static gpointer gcm_dmi_object = NULL;
+
G_DEFINE_TYPE (GcmDmi, gcm_dmi, G_TYPE_OBJECT)
/**
@@ -227,9 +229,13 @@ gcm_dmi_finalize (GObject *object)
GcmDmi *
gcm_dmi_new (void)
{
- GcmDmi *dmi;
- dmi = g_object_new (GCM_TYPE_DMI, NULL);
- return GCM_DMI (dmi);
+ if (gcm_dmi_object != NULL) {
+ g_object_ref (gcm_dmi_object);
+ } else {
+ gcm_dmi_object = g_object_new (GCM_TYPE_DMI, NULL);
+ g_object_add_weak_pointer (gcm_dmi_object, &gcm_dmi_object);
+ }
+ return GCM_DMI (gcm_dmi_object);
}
/***************************************************************************
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]