rem: if (apars[wPreferences.icon_slide_speed].delay > 0) { wusleep(apars[wPreferences.icon_slide_speed].delay*1000L);
add: if (apars[(int)wPreferences.icon_slide_speed].delay > 0) { wusleep(apars[(int)wPreferences.icon_slide_speed].delay*1000L);
context: SlideWindow(Window win, int from_x, int from_y, int to_x, int to_y){    float dx, dy, x=from_x, y=from_y, sx, sy, px, py;    int dx_is_bigger=0;    /* animation parameters */    static struct {	int delay;	int steps;	int slowdown;    } apars[5] = {	{ICON_SLIDE_DELAY_UF, ICON_SLIDE_STEPS_UF, ICON_SLIDE_SLOWDOWN_UF},	{ICON_SLIDE_DELAY_F, ICON_SLIDE_STEPS_F, ICON_SLIDE_SLOWDOWN_F},	{ICON_SLIDE_DELAY_M, ICON_SLIDE_STEPS_M, ICON_SLIDE_SLOWDOWN_M},	{ICON_SLIDE_DELAY_S, ICON_SLIDE_STEPS_S, ICON_SLIDE_SLOWDOWN_S},	{ICON_SLIDE_DELAY_U, ICON_SLIDE_STEPS_U, ICON_SLIDE_SLOWDOWN_U}};            dx = (float)(to_x-from_x);    dy = (float)(to_y-from_y);    sx = (dx == 0 ? 0 : fabs(dx)/dx);    sy = (dy == 0 ? 0 : fabs(dy)/dy);    if (fabs(dx) > fabs(dy)) {        dx_is_bigger = 1;    }    if (dx_is_bigger) {        px = dx / apars[wPreferences.icon_slide_speed].slowdown;        if (px < apars[wPreferences.icon_slide_speed].steps && px > 0)            px = apars[wPreferences.icon_slide_speed].steps;        else if (px > -apars[wPreferences.icon_slide_speed].steps && px < 0)            px = -apars[wPreferences.icon_slide_speed].steps;        py = (sx == 0 ? 0 : px*dy/dx);    } else {        py = dy / apars[wPreferences.icon_slide_speed].slowdown;        if (py < apars[wPreferences.icon_slide_speed].steps && py > 0)            py = apars[wPreferences.icon_slide_speed].steps;        else if (py > -apars[wPreferences.icon_slide_speed].steps && py < 0)            py = -apars[wPreferences.icon_slide_speed].steps;        px = (sy == 0 ? 0 : py*dx/dy);    }    while (x != to_x || y != to_y) {	x += px;        y += py;        if ((px<0 && (int)x < to_x) || (px>0 && (int)x > to_x))            x = (float)to_x;        if ((py<0 && (int)y < to_y) || (py>0 && (int)y > to_y))            y = (float)to_y;        if (dx_is_bigger) {            px = px * (1.0 - 1/(float)apars[wPreferences.icon_slide_speed].slowdown);            if (px < apars[wPreferences.icon_slide_speed].steps && px > 0)                px = apars[wPreferences.icon_slide_speed].steps;            else if (px > -apars[wPreferences.icon_slide_speed].steps && px < 0)                px = -apars[wPreferences.icon_slide_speed].steps;            py = (sx == 0 ? 0 : px*dy/dx);        } else {            py = py * (1.0 - 1/(float)apars[wPreferences.icon_slide_speed].slowdown);            if (py < apars[wPreferences.icon_slide_speed].steps && py > 0)                py = apars[wPreferences.icon_slide_speed].steps;            else if (py > -apars[wPreferences.icon_slide_speed].steps && py < 0)                py = -apars[wPreferences.icon_slide_speed].steps;            px = (sy == 0 ? 0 : py*dx/dy);        }        XMoveWindow(dpy, win, (int)x, (int)y);        XFlush(dpy);        if (apars[wPreferences.icon_slide_speed].delay > 0) {            wusleep(apars[wPreferences.icon_slide_speed].delay*1000L);        }    }    XMoveWindow(dpy, win, to_x, to_y);    XSync(dpy, 0);    /* compress expose events */    eatExpose();}