--- xcb-util-image-0.3.9.orig/image/xcb_image.c +++ xcb-util-image-0.3.9/image/xcb_image.c @@ -324,6 +324,11 @@ case XCB_IMAGE_FORMAT_XY_PIXMAP: plane_mask &= xcb_mask(imrep->depth); if (plane_mask != xcb_mask(imrep->depth)) { + int i; + uint32_t rpm = plane_mask; + uint8_t * src_plane = image->data; + uint8_t * dst_plane; + uint32_t size = image->height * image->stride; xcb_image_t * tmp_image = xcb_image_create_native(conn, width, height, format, imrep->depth, 0, 0, 0); @@ -333,12 +338,7 @@ return 0; } - int i; - uint32_t rpm = plane_mask; - uint8_t * src_plane = image->data; - uint8_t * dst_plane = tmp_image->data; - uint32_t size = image->height * image->stride; - + dst_plane = tmp_image->data; if (tmp_image->bit_order == XCB_IMAGE_ORDER_MSB_FIRST) rpm = xcb_bit_reverse(plane_mask, imrep->depth); for (i = 0; i < imrep->depth; i++) {