SOURCES: rhythmbox-bug510406.patch (NEW) - fixes http://bugzilla.g...
megabajt
megabajt at pld-linux.org
Fri Mar 14 20:59:30 CET 2008
Author: megabajt Date: Fri Mar 14 19:59:30 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- fixes http://bugzilla.gnome.org/show_bug.cgi?id=510406
---- Files affected:
SOURCES:
rhythmbox-bug510406.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/rhythmbox-bug510406.patch
diff -u /dev/null SOURCES/rhythmbox-bug510406.patch:1.1
--- /dev/null Fri Mar 14 20:59:30 2008
+++ SOURCES/rhythmbox-bug510406.patch Fri Mar 14 20:59:25 2008
@@ -0,0 +1,76 @@
+Index: plugins/mmkeys/rb-mmkeys-plugin.c
+===================================================================
+--- plugins/mmkeys/rb-mmkeys-plugin.c (wersja 5571)
++++ plugins/mmkeys/rb-mmkeys-plugin.c (wersja 5572)
+@@ -294,21 +294,49 @@
+ if (plugin->grab_type == NONE && bus != NULL) {
+ GError *error = NULL;
+
+- plugin->proxy = dbus_g_proxy_new_for_name (bus,
+- "org.gnome.SettingsDaemon",
+- "/org/gnome/SettingsDaemon",
+- "org.gnome.SettingsDaemon");
+- if (plugin->proxy != NULL) {
++ plugin->proxy = dbus_g_proxy_new_for_name_owner (bus,
++ "org.gnome.SettingsDaemon",
++ "/org/gnome/SettingsDaemon/MediaKeys",
++ "org.gnome.SettingsDaemon.MediaKeys",
++ &error);
++ if (plugin->proxy == NULL) {
++ g_warning ("Unable to grab media player keys: %s", error->message);
++ g_error_free (error);
++ } else {
+ dbus_g_proxy_call (plugin->proxy,
+ "GrabMediaPlayerKeys", &error,
+ G_TYPE_STRING, "Rhythmbox",
+ G_TYPE_UINT, 0,
+ G_TYPE_INVALID,
+ G_TYPE_INVALID);
++
++ /* if the method doesn't exist, try the old interface/path */
++ if (error != NULL &&
++ error->domain == DBUS_GERROR &&
++ error->code == DBUS_GERROR_UNKNOWN_METHOD) {
++ g_clear_error (&error);
++ g_object_unref (plugin->proxy);
++
++ rb_debug ("trying old dbus interface/path");
++ plugin->proxy = dbus_g_proxy_new_for_name_owner (bus,
++ "org.gnome.SettingsDaemon",
++ "/org/gnome/SettingsDaemon",
++ "org.gnome.SettingsDaemon",
++ &error);
++ if (plugin->proxy != NULL) {
++ dbus_g_proxy_call (plugin->proxy,
++ "GrabMediaPlayerKeys", &error,
++ G_TYPE_STRING, "Rhythmbox",
++ G_TYPE_UINT, 0,
++ G_TYPE_INVALID,
++ G_TYPE_INVALID);
++ }
++ }
++
+ if (error == NULL) {
+ GtkWindow *window;
+
+- rb_debug ("created dbus proxy for org.gnome.SettingsDaemon; grabbing keys");
++ rb_debug ("created dbus proxy for org.gnome.SettingsDaemon.MediaKeys; grabbing keys");
+ dbus_g_object_register_marshaller (rb_marshal_VOID__STRING_STRING,
+ G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
+
+@@ -329,15 +357,6 @@
+ g_object_unref (window);
+
+ plugin->grab_type = SETTINGS_DAEMON;
+-
+- } else if (error->domain == DBUS_GERROR &&
+- (error->code != DBUS_GERROR_NAME_HAS_NO_OWNER ||
+- error->code != DBUS_GERROR_SERVICE_UNKNOWN)) {
+- /* settings daemon dbus service doesn't exist.
+- * just silently fail.
+- */
+- rb_debug ("org.gnome.SettingsDaemon dbus service not found");
+- g_error_free (error);
+ } else {
+ g_warning ("Unable to grab media player keys: %s", error->message);
+ g_error_free (error);
================================================================
More information about the pld-cvs-commit
mailing list