diff -r 93c0cd117e1d -r 0839fbcfb9b4 pidgin/gtkdocklet-gtk.c --- a/pidgin/gtkdocklet-gtk.c Wed Nov 29 20:40:36 2017 +0100 +++ b/pidgin/gtkdocklet-gtk.c Wed Nov 29 21:13:54 2017 +0100 @@ -134,9 +134,10 @@ } static void -docklet_gtk_status_update_icon(PurpleStatusPrimitive status, gboolean connecting, gboolean pending, gboolean blinked) +docklet_gtk_status_update_icon(PurpleStatusPrimitive status, gboolean connecting, gboolean pending) { const gchar *icon_name = NULL; + const gchar *current_icon_name = gtk_status_icon_get_icon_name(docklet); switch (status) { case PURPLE_STATUS_OFFLINE: @@ -159,11 +160,11 @@ break; } - if (connecting) { + if (connecting && strcmp(current_icon_name, PIDGIN_STOCK_TRAY_CONNECT) != 0) { icon_name = PIDGIN_STOCK_TRAY_CONNECT; } - if (!blinked && pending) { + if (pending && strcmp(current_icon_name, PIDGIN_STOCK_TRAY_PENDING) != 0) { icon_name = PIDGIN_STOCK_TRAY_PENDING; }