diff options
author | Kacper Kowalik <xarthisius@gentoo.org> | 2011-05-04 06:33:06 +0000 |
---|---|---|
committer | Kacper Kowalik <xarthisius@gentoo.org> | 2011-05-04 06:33:06 +0000 |
commit | c928862ddd523b164f4d4a406f9af30d92e54bd7 (patch) | |
tree | 8f8718d21561b472cf3f707b8eba8d34aee662ac /x11-misc/redshift/files | |
parent | ppc stable wrt #365177 (diff) | |
download | historical-c928862ddd523b164f4d4a406f9af30d92e54bd7.tar.gz historical-c928862ddd523b164f4d4a406f9af30d92e54bd7.tar.bz2 historical-c928862ddd523b164f4d4a406f9af30d92e54bd7.zip |
Apply patch for >gnome-2.30 wrt bug 365481 by Anton Bolshakov <anton.bugs@gmail.com>. Drop old.
Package-Manager: portage-2.2.0_alpha29/cvs/Linux x86_64
Diffstat (limited to 'x11-misc/redshift/files')
-rw-r--r-- | x11-misc/redshift/files/1.6-bonoboiidfix.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/x11-misc/redshift/files/1.6-bonoboiidfix.patch b/x11-misc/redshift/files/1.6-bonoboiidfix.patch new file mode 100644 index 000000000000..b4f6c4de2749 --- /dev/null +++ b/x11-misc/redshift/files/1.6-bonoboiidfix.patch @@ -0,0 +1,43 @@ +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); |