[gnome-color-manager] Add a trivial function, gcm_edid_reset()



commit 24dd7d0d7fa16720666f4caf69ef9c4f1470456a
Author: Richard Hughes <richard hughsie com>
Date:   Wed Dec 2 14:04:26 2009 +0000

    Add a trivial function, gcm_edid_reset()

 src/gcm-edid.c |   38 ++++++++++++++++++++++++++++++--------
 src/gcm-edid.h |    1 +
 2 files changed, 31 insertions(+), 8 deletions(-)
---
diff --git a/src/gcm-edid.c b/src/gcm-edid.c
index a0a8032..a5c30f9 100644
--- a/src/gcm-edid.c
+++ b/src/gcm-edid.c
@@ -92,6 +92,35 @@ G_DEFINE_TYPE (GcmEdid, gcm_edid, G_TYPE_OBJECT)
 
 
 /**
+ * gcm_edid_reset:
+ **/
+void
+gcm_edid_reset (GcmEdid *edid)
+{
+	GcmEdidPrivate *priv = edid->priv;
+
+	g_return_if_fail (GCM_IS_EDID (edid));
+
+	/* free old data */
+	g_free (priv->monitor_name);
+	g_free (priv->vendor_name);
+	g_free (priv->serial_number);
+	g_free (priv->ascii_string);
+
+	/* do not deallocate, just blank */
+	priv->pnp_id[0] = '\0';
+
+	/* set to default values */
+	priv->monitor_name = NULL;
+	priv->vendor_name = NULL;
+	priv->serial_number = NULL;
+	priv->ascii_string = NULL;
+	priv->width = 0;
+	priv->height = 0;
+	priv->gamma = 0.0f;
+}
+
+/**
  * gcm_edid_parse:
  **/
 gboolean
@@ -115,14 +144,7 @@ gcm_edid_parse (GcmEdid *edid, const guint8 *data, GError **error)
 	}
 
 	/* free old data */
-	g_free (priv->monitor_name);
-	g_free (priv->vendor_name);
-	g_free (priv->serial_number);
-	g_free (priv->ascii_string);
-	priv->monitor_name = NULL;
-	priv->vendor_name = NULL;
-	priv->serial_number = NULL;
-	priv->ascii_string = NULL;
+	gcm_edid_reset (edid);
 
 	/* decode the PNP ID from three 5 bit words packed into 2 bytes
 	 * /--08--\/--09--\
diff --git a/src/gcm-edid.h b/src/gcm-edid.h
index 0385b1f..ac3dfca 100644
--- a/src/gcm-edid.h
+++ b/src/gcm-edid.h
@@ -56,6 +56,7 @@ struct _GcmEdidClass
 
 GType		 gcm_edid_get_type		  	(void);
 GcmEdid		*gcm_edid_new				(void);
+void		 gcm_edid_reset				(GcmEdid		*edid);
 gboolean	 gcm_edid_parse				(GcmEdid		*edid,
 							 const guint8		*data,
 							 GError			**error);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]