This function doesn't handle sorting on a column that holds boolean
values. The error message is:
(gnucash:27003): GLib-GObject-CRITICAL **: file gvaluetypes.c: line 613
(g_value_get_int): assertion `G_VALUE_HOLDS_INT (value)' failed
The code errors because this function uses gvalue integer functions on a
gvalue that is of boolean type. This exists in both the 2.2 branch and
on HEAD. (Its also in 2.0, fwiw. Looks like a day one bug.) A patch
is attached below.
David
david hampton-pc:gtk+-2.2$ cvs diff gtk/gtktreedatalist.c
Index: gtk/gtktreedatalist.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtktreedatalist.c,v
retrieving revision 1.27
diff -u -r1.27 gtktreedatalist.c
--- gtk/gtktreedatalist.c 7 Oct 2002 19:10:39 -0000 1.27
+++ gtk/gtktreedatalist.c 20 Nov 2003 04:19:30 -0000
@@ -314,9 +314,9 @@
switch (G_TYPE_FUNDAMENTAL (type))
{
case G_TYPE_BOOLEAN:
- if (g_value_get_int (&a_value) < g_value_get_int (&b_value))
+ if (g_value_get_boolean (&a_value) < g_value_get_boolean (&b_value))
retval = -1;
- else if (g_value_get_int (&a_value) == g_value_get_int (&b_value))
+ else if (g_value_get_boolean (&a_value) == g_value_get_boolean (&b_value))
retval = 0;
else
retval = 1;
Attachment:
signature.asc
Description: This is a digitally signed message part