[gnome-settings-daemon] media-keys: Only ever send signals to specific apps



commit e76bbd435c7de028b719cd1f797183dfd8c5d162
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Oct 3 14:57:32 2011 +0100

    media-keys: Only ever send signals to specific apps
    
    We know the D-Bus name of the application we want to send this
    to, so don't bother waking up all the applications with it.

 plugins/media-keys/gsd-media-keys-manager.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index 7ad9712..d91fe4a 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -941,9 +941,10 @@ static gboolean
 gsd_media_player_key_pressed (GsdMediaKeysManager *manager,
                               const char          *key)
 {
-        const char *application = NULL;
-        gboolean    have_listeners;
-        GError     *error = NULL;
+        const char  *application;
+        gboolean     have_listeners;
+        GError      *error = NULL;
+        MediaPlayer *player;
 
         g_return_val_if_fail (key != NULL, FALSE);
 
@@ -951,9 +952,7 @@ gsd_media_player_key_pressed (GsdMediaKeysManager *manager,
 
         have_listeners = (manager->priv->media_players != NULL);
 
-        if (have_listeners) {
-                application = ((MediaPlayer *)manager->priv->media_players->data)->application;
-        } else {
+        if (!have_listeners) {
                 /* Popup a dialog with an (/) icon */
                 dialog_init (manager);
                 gsd_media_keys_window_set_action_custom (GSD_MEDIA_KEYS_WINDOW (manager->priv->dialog),
@@ -963,8 +962,11 @@ gsd_media_player_key_pressed (GsdMediaKeysManager *manager,
                 return TRUE;
         }
 
+        player = manager->priv->media_players->data;
+        application = player->application;
+
         if (g_dbus_connection_emit_signal (manager->priv->connection,
-                                           NULL,
+                                           player->name,
                                            GSD_MEDIA_KEYS_DBUS_PATH,
                                            GSD_MEDIA_KEYS_DBUS_NAME,
                                            "MediaPlayerKeyPressed",



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