SOURCES: notification-daemon-icon-data.patch (NEW) - http://trac.g...

freetz freetz at pld-linux.org
Sun Jun 18 16:50:08 CEST 2006


Author: freetz                       Date: Sun Jun 18 14:50:08 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- http://trac.galago-project.org/ticket/67

---- Files affected:
SOURCES:
   notification-daemon-icon-data.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/notification-daemon-icon-data.patch
diff -u /dev/null SOURCES/notification-daemon-icon-data.patch:1.1
--- /dev/null	Sun Jun 18 16:50:08 2006
+++ SOURCES/notification-daemon-icon-data.patch	Sun Jun 18 16:50:03 2006
@@ -0,0 +1,62 @@
+diff -Naur notification-daemon-0.3.5.orig/src/daemon.c notification-daemon-0.3.5/src/daemon.c
+--- notification-daemon-0.3.5.orig/src/daemon.c	2006-04-26 10:32:50.000000000 +0200
++++ notification-daemon-0.3.5/src/daemon.c	2006-06-18 05:07:47.000000000 +0200
+@@ -399,14 +399,54 @@
+ 	GValueArray *image_struct;
+ 	GValue *value;
+ 	GArray *tmp_array;
++	GType type = G_VALUE_TYPE (icon_data); 
++  
++	static const GType types[] = {
++	    G_TYPE_INT,
++	    G_TYPE_INT,
++	    G_TYPE_INT,
++	    G_TYPE_BOOLEAN,
++	    G_TYPE_INT,
++	    G_TYPE_INT
++	};
++
++
++	if (dbus_g_type_is_struct (type))
++	{
++	    int n;
++
++	    if (dbus_g_type_get_struct_size (type) < 7)
++	    {
++		g_warning("_notify_daemon_process_icon_data expected 7 data members, got only %d", dbus_g_type_get_struct_size (type)); 
++		return FALSE;
++	    }
++
++	    for (n = 0; n < G_N_ELEMENTS (types); ++n)
++	    {
++		GType check = dbus_g_type_get_struct_member_type (type, n);
++		if (check != types[n])
++		{
++		    g_warning("_notify_daemon_process_icon_data expected '%s' at position %d, but got '%s'",
++			      g_type_name (types[n]), n, g_type_name (check)); 
++		    return FALSE;
++		}
+ 
+-	if (!G_VALUE_HOLDS(icon_data, G_TYPE_VALUE_ARRAY))
++		/* We must check this separately as it's not a constant and can't be part of the types[] array */
++		if (dbus_g_type_get_struct_member_type (type, 6) != DBUS_TYPE_G_UCHAR_ARRAY) 
++		{
++		    g_warning("_notify_daemon_process_icon_data expected '%s' at position %d, but got '%s'",
++			      g_type_name (DBUS_TYPE_G_UCHAR_ARRAY), 6, g_type_name (dbus_g_type_get_struct_member_type (type,6))); 
++		    return FALSE;
++		}
++	    }
++	}
++	else
+ 	{
+-		g_warning("_notify_daemon_process_icon_data expected a "
+-				  "GValue of type GValueArray");
+-		return FALSE;
++	    g_warning("_notify_daemon_process_icon_data got wrong data"); 
++	    return FALSE;
+ 	}
+ 
++
+ 	image_struct = (GValueArray *)g_value_get_boxed(icon_data);
+ 	value = g_value_array_get_nth(image_struct, 0);
+ 
================================================================


More information about the pld-cvs-commit mailing list