patches/redshift-02-clock-applet.diff
changeset 3438 a1dade982b66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/redshift-02-clock-applet.diff	Sat Apr 30 06:16:39 2011 +0000
@@ -0,0 +1,32 @@
+diff -Naur redshift-1.6/src/location-gnome-clock.c redshift-1.6_bonoboiidfix/src/location-gnome-clock.c
+--- redshift-1.6/src/location-gnome-clock.c	2010-09-04 13:32:56.000000000 +0100
++++ redshift-1.6_bonobofix/src/location-gnome-clock.c	2011-01-16 23:10:54.654764596 +0000
+@@ -104,11 +104,28 @@
+ 			char *bonobo_iid = gconf_client_get_string(client, key,
+ 								   &error);
+ 
++			/* Try both gnome-panel 2.30.x and earlier bonobo_iid key and
++			   newer applet_iid. */
+ 			if (!error && bonobo_iid != NULL &&
+ 			    !strcmp(bonobo_iid, "OAFIID:GNOME_ClockApplet")) {
+ 				clock_applet_count += 1;
+ 				current_city = find_current_city(client, id);
+ 			}
++			else {
++				g_free(key);
++				key = g_strdup_printf("/apps/panel/applets/%s"
++					    "/applet_iid", id);
++				char *applet_iid = gconf_client_get_string(client, key,
++									    &error);
++
++				if (!error && applet_iid != NULL &&
++				    !strcmp(applet_iid, "ClockAppletFactory::ClockApplet")) {
++					clock_applet_count += 1;
++					current_city = find_current_city(client, id);
++				}
++
++				g_free(applet_iid);
++			}
+ 
+ 			g_free(bonobo_iid);
+ 			g_free(key);