ic->displayable_rect.width = img_header->width;
ic->displayable_rect.width = (PRUint16)img_header->width;
il_flush_image_data(il_container *ic){    IL_GroupContext *img_cx = ic->img_cx;    IL_Pixmap *image = ic->image;    IL_Pixmap *mask = ic->mask;    NI_PixmapHeader *img_header = &image->header;    NI_PixmapHeader *mask_header = mask ? &mask->header : NULL;    int row, start_row, end_row, row_interval;    /* If we never called il_size(), we have no data for the FE.  There       may also be no new data if a previous flush has occurred. */    if (!image->bits || !ic->new_data_for_fe)        return;    start_row = ic->update_start_row;    end_row = ic->update_end_row;    row_interval = (2 * OUTPUT_CHUNK_SIZE) / img_header->widthBytes;    row = start_row;#ifdef XP_UNIX    /* If the amount of image data becomes really large, break it     * up into chunks to BLT out to the screen.  Otherwise, there     * can be a noticeable delay as the FE processes a large image.     * (In the case of the XFE, it can take a long time to send     * it to the server.)     */    for (;row < (end_row - row_interval); row += row_interval) {        img_cx->img_cb->UpdatePixmap(img_cx->dpy_cx, image, 0, row,                                     img_header->width, row_interval);        if (mask) {            img_cx->img_cb->UpdatePixmap(img_cx->dpy_cx, mask, 0, row,                                         mask_header->width, row_interval);		}    }#endif /* XP_UNIX */       /* Draw whatever is leftover after sending the chunks */    img_cx->img_cb->UpdatePixmap(img_cx->dpy_cx, image,                                  0, row, img_header->width, end_row - row + 1);    if (mask) {        img_cx->img_cb->UpdatePixmap(img_cx->dpy_cx, mask, 0, row,                                     mask_header->width, end_row - row + 1);    }    /* Update the displayable area of the pixmap. */    ic->displayable_rect.x_origin = 0;    ic->displayable_rect.y_origin = 0;    ic->displayable_rect.width = img_header->width;    ic->displayable_rect.height = MAX(ic->displayable_rect.height,                                      end_row + 1);    /* Notify observers that the image pixmap has been updated. */    il_pixmap_update_notify(ic);    /* Notify observers of image progress. */    il_progress_notify(ic);    ic->new_data_for_fe = FALSE;    ic->update_end_row = ic->update_start_row = 0;}