[gnome-settings-daemon] media-keys: Fix MprisController no longer working



commit 771fba737b9094fb19dab5158b39b39c6986602c
Author: Hans de Goede <hdegoede redhat com>
Date:   Tue Aug 13 17:26:27 2019 +0200

    media-keys: Fix MprisController no longer working
    
    Since commit e4297f2ae ("media-keys: Use G_DECLARE_FINAL_TYPE for
    MprisController"), the MPRIS support in g-s-d no longer works.
    
    This is caused by the mpris_proxy_ready_cb changes, after the troublesome
    commit, the MprisController self pointer is retreived by
    the mpris_proxy_ready_cb like this:
    
          MprisController *self = MPRIS_CONTROLLER (object);
    
    But the object parameter to the GAsyncReadyCallback is the source object,
    which in this case is the just created GDBusProxy, not our MprisController
    object, leading to these warnings:
    
    gsd-media-keys[x]: invalid cast from 'GDBusProxy' to 'MprisController'
    
    Our MprisController is passed through the user_data pointer, so
    this commit fixes the code to use this instead.
    
    This fixes the warning and more importantly also makes the MPRIS support work
    again, since it now will now properly set self->mpris_client_proxy again.
    
    Fixes: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/issues/437

 plugins/media-keys/mpris-controller.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/plugins/media-keys/mpris-controller.c b/plugins/media-keys/mpris-controller.c
index ac839f52..a1d19e30 100644
--- a/plugins/media-keys/mpris-controller.c
+++ b/plugins/media-keys/mpris-controller.c
@@ -122,7 +122,7 @@ mpris_proxy_ready_cb (GObject      *object,
                       GAsyncResult *res,
                       gpointer      user_data)
 {
-  MprisController *self = MPRIS_CONTROLLER (object);
+  MprisController *self = MPRIS_CONTROLLER (user_data);
   GError *error = NULL;
   GDBusProxy *proxy;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]