From 3137f32711b3df2a650b4a686a601e3bf11f930a Mon Sep 17 00:00:00 2001 From: Calvin Lee Date: Fri, 27 Oct 2017 13:17:54 -0600 Subject: Allow correct item to get icon updates --- swaybar/tray/tray.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/swaybar/tray/tray.c b/swaybar/tray/tray.c index a95b29fd..e926faae 100644 --- a/swaybar/tray/tray.c +++ b/swaybar/tray/tray.c @@ -276,11 +276,17 @@ static DBusHandlerResult signal_handler(DBusConnection *connection, "NewIcon") || dbus_message_is_signal(message, "org.kde.StatusNotifierItem", "NewIcon")) { const char *name; + const char *obj_path; int index; struct StatusNotifierItem *item; name = dbus_message_get_sender(message); - if ((index = list_seq_find(tray->items, sni_uniq_cmp, name)) != -1) { + obj_path = dbus_message_get_path(message); + struct ObjName obj_name = { + obj_path, + name, + }; + if ((index = list_seq_find(tray->items, sni_obj_name_cmp, &obj_name)) != -1) { item = tray->items->items[index]; sway_log(L_INFO, "NewIcon signal from item %s", item->name); get_icon(item); -- cgit v1.2.3-54-g00ecf