rem: if (!list) {
add: if (!bag || !WMGetBagItemCount(bag)) {
context: doWindowMove(WWindow *wwin, LinkedList *list, int dx, int dy){    WWindow *tmpw;    int x, y;    int scr_width = wwin->screen_ptr->scr_width;    int scr_height = wwin->screen_ptr->scr_height;    if (!list) {        wWindowMove(wwin, wwin->frame_x + dx, wwin->frame_y + dy);    } else {	while (list) {	    tmpw = list->head;	    x = tmpw->frame_x + dx;	    y = tmpw->frame_y + dy;	    	    /* don't let windows become unreachable */	    	    if (x + (int)tmpw->frame->core->width < 20)		x = 20 - (int)tmpw->frame->core->width;	    else if (x + 20 > scr_width)		x = scr_width - 20;	    if (y + (int)tmpw->frame->core->height < 20)		y = 20 - (int)tmpw->frame->core->height;	    else if (y + 20 > scr_height)		y = scr_height - 20;	     	    wWindowMove(tmpw, x, y);	    list = list->tail;	}    }}