rem: if (panel->tile) {
add: if (panel->tile && wPreferences.swbackImage[8]) {
context: WSwitchPanel *wInitSwitchPanel(WScreen *scr, WWindow *curwin, int workspace){    WWindow *wwin;    WSwitchPanel *panel= wmalloc(sizeof(WSwitchPanel));    WMFrame *viewport;    int i;    int width, height;    int iconsThatFitCount;    int count;      memset(panel, 0, sizeof(WSwitchPanel));    panel->scr= scr;    panel->windows= makeWindowListArray(scr, curwin, workspace);    count= WMGetArrayItemCount(panel->windows);        if (count == 0) {        WMFreeArray(panel->windows);        wfree(panel);        return NULL;    }    width= ICON_TILE_SIZE*count;    iconsThatFitCount= count;    if (width > WMScreenWidth(scr->wmscreen)) {        iconsThatFitCount = (WMScreenWidth(scr->wmscreen)-SCREEN_BORDER_SPACING)/ICON_TILE_SIZE;        width= iconsThatFitCount*ICON_TILE_SIZE;    }        panel->visibleCount= iconsThatFitCount;    height= LABEL_HEIGHT + ICON_TILE_SIZE;    panel->tileTmp= RCreateImage(ICON_TILE_SIZE, ICON_TILE_SIZE, 1);    panel->tile= getTile(panel);    if (panel->tile) {        panel->bg= createBackImage(scr, width+2*BORDER_SPACE, height+2*BORDER_SPACE);    }    if (!panel->tileTmp || !panel->tile) {        if (panel->bg)          RReleaseImage(panel->bg);        panel->bg= NULL;        if (panel->tile)          RReleaseImage(panel->tile);        panel->tile= NULL;        if (panel->tileTmp)          RReleaseImage(panel->tileTmp);        panel->tileTmp= NULL;    }    panel->white= WMWhiteColor(scr->wmscreen);    panel->font= WMBoldSystemFontOfSize(scr->wmscreen, 12);    panel->icons= WMCreateArray(count);    panel->images= WMCreateArray(count);    panel->win = WMCreateWindow(scr->wmscreen, "");    if (!panel->bg) {        WMFrame *frame = WMCreateFrame(panel->win);        WMSetFrameRelief(frame, WRSimple);        WMSetViewExpandsToParent(WMWidgetView(frame), 0, 0, 0, 0);                panel->label = WMCreateLabel(panel->win);        WMResizeWidget(panel->label, width, LABEL_HEIGHT);        WMMoveWidget(panel->label, BORDER_SPACE, BORDER_SPACE+ICON_TILE_SIZE+5);        WMSetLabelRelief(panel->label, WRSimple);        WMSetWidgetBackgroundColor(panel->label, WMDarkGrayColor(scr->wmscreen));        WMSetLabelFont(panel->label, panel->font);        WMSetLabelTextColor(panel->label, panel->white);                height+= 5;    }        WMResizeWidget(panel->win, width + 2*BORDER_SPACE, height + 2*BORDER_SPACE);        viewport= WMCreateFrame(panel->win);    WMResizeWidget(viewport, width, ICON_TILE_SIZE);    WMMoveWidget(viewport, BORDER_SPACE, BORDER_SPACE);    WMSetFrameRelief(viewport, WRFlat);        panel->iconBox= WMCreateFrame(viewport);    WMMoveWidget(panel->iconBox, 0, 0);    WMResizeWidget(panel->iconBox, ICON_TILE_SIZE*count, ICON_TILE_SIZE);    WMSetFrameRelief(panel->iconBox, WRFlat);        WM_ITERATE_ARRAY(panel->windows, wwin, i) {        addIconForWindow(panel, panel->iconBox, wwin, i*ICON_TILE_SIZE, 0);    }    WMMapSubwidgets(panel->win);    WMRealizeWidget(panel->win);        WM_ITERATE_ARRAY(panel->windows, wwin, i) {        changeImage(panel, i, 0);    }        if (panel->bg) {        Pixmap pixmap, mask;        RConvertImageMask(scr->rcontext, panel->bg, &pixmap, &mask, 254);        XSetWindowBackgroundPixmap(dpy, WMWidgetXID(panel->win), pixmap);#ifdef SHAPE        if (mask && wShapeSupported)          XShapeCombineMask(dpy, WMWidgetXID(panel->win),                            ShapeBounding, 0, 0, mask, ShapeSet);#endif                if (pixmap)          XFreePixmap(dpy, pixmap);        if (mask)          XFreePixmap(dpy, mask);    }    {        WMPoint center;        center= wGetPointToCenterRectInHead(scr, wGetHeadForPointerLocation(scr),                                            width+2*BORDER_SPACE, height+2*BORDER_SPACE);        WMMoveWidget(panel->win, center.x, center.y);    }    panel->current= WMGetFirstInArray(panel->windows, curwin);    if (panel->current >= 0)        changeImage(panel, panel->current, 1);    WMMapWidget(panel->win);    return panel;}