diff -Naur xfce4-panel-4.13.5/plugins/tasklist/tasklist-widget.c xfce4-panel-4.13.5-slack-icon-mssing-bug/plugins/tasklist/tasklist-widget.c --- xfce4-panel-4.13.5/plugins/tasklist/tasklist-widget.c 2019-04-20 17:42:51.000000000 -0400 +++ xfce4-panel-4.13.5-slack-icon-mssing-bug/plugins/tasklist/tasklist-widget.c 2019-05-31 09:47:16.391164845 -0400 @@ -616,7 +616,32 @@ gtk_widget_show (tasklist->arrow_button); } - +static GdkPixbuf * +xfce_tasklist_get_icon(WnckWindow *window, gboolean show_labels, int size, int type) +{ + GdkPixbuf *pixbuf; + if (show_labels || type == CHILD_TYPE_GROUP_MENU) + { + pixbuf = wnck_window_get_mini_icon (window); + } + else if (size <= 31) + { + pixbuf = wnck_window_get_mini_icon (window); + } + else + { + pixbuf = wnck_window_get_icon (window); + } + if (!pixbuf || wnck_window_get_icon_is_fallback (window)) + { + GtkIconTheme *theme = gtk_icon_theme_get_default (); + const char *name = wnck_window_get_class_instance_name (window); + // Get the pixbuf from the icon theme + pixbuf = gtk_icon_theme_load_icon (theme, name, size, + GTK_ICON_LOOKUP_FORCE_SIZE, NULL); + } + return pixbuf; +} static void xfce_tasklist_get_property (GObject *object, @@ -2553,14 +2578,7 @@ context = gtk_widget_get_style_context (GTK_WIDGET (child->icon)); /* get the window icon */ - if (tasklist->show_labels || - child->type == CHILD_TYPE_GROUP_MENU) - pixbuf = wnck_window_get_mini_icon (window); - else if (icon_size <= 31) - pixbuf = wnck_window_get_mini_icon (window); - else - pixbuf = wnck_window_get_icon (window); - + pixbuf = xfce_tasklist_get_icon(child->window, tasklist->show_labels, icon_size, child->type); /* leave when there is no valid pixbuf */ if (G_UNLIKELY (pixbuf == NULL)) { @@ -3259,7 +3277,7 @@ } #endif - pixbuf = wnck_window_get_icon (child->window); + pixbuf = xfce_tasklist_get_icon (child->window, FALSE, 32, CHILD_TYPE_WINDOW); if (G_LIKELY (pixbuf != NULL)) gtk_drag_set_icon_pixbuf (context, pixbuf, 0, 0); } @@ -3318,8 +3336,6 @@ } } - - static XfceTasklistChild * xfce_tasklist_button_new (WnckWindow *window, XfceTasklist *tasklist) @@ -3701,8 +3717,6 @@ xfce_tasklist_sort (group_child->tasklist); } - - static void xfce_tasklist_group_button_icon_changed (WnckClassGroup *class_group, XfceTasklistChild *group_child)