[libgda/LIBGDA_4.0] Handle GObject derived in GValue comparisons



commit 19c4d34e4dab608347c35c921a45adb9bfb2c001
Author: Vivien Malerba <malerba gnome-db org>
Date:   Thu Oct 15 19:20:30 2009 +0200

    Handle GObject derived in GValue comparisons

 libgda/gda-value.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/libgda/gda-value.c b/libgda/gda-value.c
index a52c839..5e91327 100644
--- a/libgda/gda-value.c
+++ b/libgda/gda-value.c
@@ -2027,6 +2027,13 @@ gda_value_differ (const GValue *value1, const GValue *value2)
 		 * already have retruned */
 		return 1;
 
+	else if (g_type_is_a (type, G_TYPE_OBJECT)) {
+		if (g_value_get_object (value1) == g_value_get_object (value2))
+			return 0;
+		else
+			return -1;
+	}
+
 	g_warning ("%s() cannot handle values of type %s", __FUNCTION__, g_type_name (G_VALUE_TYPE (value1)));
 
 	return 1;
@@ -2307,6 +2314,13 @@ gda_value_compare (const GValue *value1, const GValue *value2)
 		return (t1 > t2) ? 1 : ((t1 == t2) ? 0: -1);
 	}
 
+	else if (g_type_is_a (type, G_TYPE_OBJECT)) {
+		if (g_value_get_object (value1) == g_value_get_object (value2))
+			return 0;
+		else
+			return -1;
+	}
+
 	g_warning ("%s() cannot handle values of type %s", __FUNCTION__, g_type_name (G_VALUE_TYPE (value1)));
 
 	return 0;



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