rem: if (wcore->descriptor.parent_type == WCLASS_APPICON) {
add: if (wcore->descriptor.parent_type == WCLASS_APPICON && !((WAppIcon*)parent)->docked) {
context: iconPosition(WCoreWindow *wcore, int sx1, int sy1, int sx2, int sy2, 	     int workspace, int *retX, int *retY){    void *parent;    int ok = 0;    parent = wcore->descriptor.parent;    /* if it is an application icon */    if (wcore->descriptor.parent_type == WCLASS_APPICON) {	*retX = ((WAppIcon*)parent)->x_pos;	*retY = ((WAppIcon*)parent)->y_pos;	ok = 1;    } else if (wcore->descriptor.parent_type == WCLASS_MINIWINDOW &&	       (((WIcon*)parent)->owner->frame->workspace == workspace		|| IS_OMNIPRESENT(((WIcon*)parent)->owner)		|| wPreferences.sticky_icons)	       && ((WIcon*)parent)->mapped	       && (!((WIcon*)parent)->owner->flags.hidden		   || wcore->screen_ptr->flags.startup)) {	*retX = ((WIcon*)parent)->owner->icon_x;	*retY = ((WIcon*)parent)->owner->icon_y;	ok = 1;    } else if (wcore->descriptor.parent_type == WCLASS_WINDOW	       && (((WWindow*)parent)->flags.icon_moved		   || ((WWindow*)parent)->flags.hidden)	       && (((WWindow*)parent)->frame->workspace == workspace		   || IS_OMNIPRESENT((WWindow*)parent)		   || wPreferences.sticky_icons)) {	*retX = ((WWindow*)parent)->icon_x;	*retY = ((WWindow*)parent)->icon_y;	ok = 1;	    }		    /*     * Check if it is inside the screen.     */    if (ok) {	if (*retX < sx1-wPreferences.icon_size)	    ok = 0;	else if (*retX > sx2)	    ok = 0;	if (*retY < sy1-wPreferences.icon_size)	    ok = 0;	else if (*retY > sy2)	    ok = 0;    }    return ok;}