diff --git a/src/switchpanel.c b/src/switchpanel.c index e12b97f9..d11d4e45 100644 --- a/src/switchpanel.c +++ b/src/switchpanel.c @@ -186,12 +186,18 @@ static void addIconForWindow(WSwitchPanel *panel, WMWidget *parent, WWindow *wwi { WMFrame *icon = WMCreateFrame(parent); RImage *image = NULL; + WApplication *wapp; WMSetFrameRelief(icon, WRFlat); WMResizeWidget(icon, icon_tile_size, icon_tile_size); WMMoveWidget(icon, x, y); - if (!WFLAGP(wwin, always_user_icon) && wwin->net_icon_image) + wapp = wApplicationOf(wwin->main_window); + if (wapp && wapp->app_icon && wapp->app_icon->icon && wapp->app_icon->icon->file_image) { + image = RRetainImage(wapp->app_icon->icon->file_image); + } + + if (!image && !WFLAGP(wwin, always_user_icon) && wwin->net_icon_image) image = RRetainImage(wwin->net_icon_image); /* get_icon_image() includes the default icon image */