You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-misc/redshift/files/1.6-bonoboiidfix.patch

44 lines
1.5 KiB

Description: Handle newer versions of gnome-panel gconf schema.
In newer versions of gnome-panel (>2.30), the gconf identifier
name for bonobo_iid was renamed to applet_iid, this caused
redshift to be unable to locate the Clock Applet. This patch
attempts to use the legacy behaviour, and on failure to
retrieve the value uses the newer identifer.
Author: Miloš Komarčević <kmilos@gmail.com>
Bug: https://launchpad.net/bugs/706353
Bug-Ubuntu: https://launchpad.net/bugs/706353
Bug-Fedora: https://bugzilla.redhat.com/661145
Bug-Gentoo: https://bugs.gentoo.org/365481
--- a/src/location-gnome-clock.c
+++ b/src/location-gnome-clock.c
@@ -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);