rem: XChangeProperty(scr->display, win->view->window, scr->netwmIcon, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)data, (image->width * image->height + 2) * sizeof(CARD32));  free(data);
add: XChangeProperty(scr->display, win->view->window, scr->netwmIcon, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)data, (image->width * image->height + 2));  wfree(data);
context: setMiniwindow(WMWindow *win, RImage *image){    WMScreen *scr= win->view->screen;    CARD32 *data;    int x, y;    int o;        if (!image)      return;        data= malloc((image->width * image->height + 2) * sizeof(CARD32));    if (!data)      return;    o= 0;    data[o++] = image->width;    data[o++] = image->height;    for (y= 0; y < image->height; y++) {        for (x= 0; x < image->width; x++) {            CARD32 pixel;            int offs= (x+y*image->width);                        if (image->format == RRGBFormat)              pixel= image->data[offs*3]<<16 | image->data[offs*3+1]<<8 | image->data[offs*3+2];            else              pixel= image->data[offs*4]<<16 | image->data[offs*4+1]<<8 | image->data[offs*4+2] | image->data[offs*4+3] << 24;            data[o++]= pixel;        }    }    XChangeProperty(scr->display, win->view->window,                    scr->netwmIcon, XA_CARDINAL, 32,                    PropModeReplace,                    (unsigned char *)data,                     (image->width * image->height + 2) * sizeof(CARD32));        free(data);}