#ifdef WORDS_BIGENDIAN
if (evas_software_xcb_x_output_buffer_byte_order(xcbob) == XCBImageOrderLSBFirst)
buf->priv.x.swap = 1;
- if (evas_software_xcb_x_output_buffer_bit_order(xcbob) == XCBImageOrderLSBFirst)
+ if (evas_software_xcb_x_output_buffer_bit_order(xcbob) == XCBImageOrderMSBFirst)
buf->priv.x.bit_swap = 1;
#else
if (evas_software_xcb_x_output_buffer_byte_order(xcbob) == XCBImageOrderMSBFirst)
perf = evas_software_xcb_outbuf_perf_new_x(conn, draw, vis, cmap, x_depth);
- mask = XCBCWBackPixmap | XCBCWBorderPixel |
- XCBCWBitGravity | XCBCWBackingStore |
+ mask = XCBCWBackPixmap | XCBCWBorderPixel |
+ XCBCWBitGravity | XCBCWBackingStore |
XCBCWOverrideRedirect | XCBCWEventMask | XCBCWColormap;
value[0] = XCBBackPixmapNone;
value[1] = 0;
mask = XCBConfigWindowStackMode;
value[0] = XCBStackModeAbove;
XCBConfigureWindow (conn, win.window, mask, value2);
-/* XCBMapWindow (conn, win.window); */
+ XCBMapWindow (conn, win.window);
do_shm = evas_software_xcb_x_can_do_shm(conn);
if (try_shm > 0)
{
- xcbob->shm_info = malloc(sizeof(XCBShmSegmentInfo));
- if (xcbob->shm_info)
- {
- xcbob->shm_info->shmseg = XCBShmSEGNew(c);
- xcbob->image = XCBImageSHMCreate(c, depth, XCBImageFormatZPixmap, NULL, w, h);
- if (xcbob->image)
- {
- xcbob->shm_info->shmid = shmget(IPC_PRIVATE,
- xcbob->image->bytes_per_line *
- xcbob->image->height,
- IPC_CREAT | 0777);
- if (xcbob->shm_info->shmid >= 0)
- {
- xcbob->shm_info->shmaddr = xcbob->image->data =
- shmat(xcbob->shm_info->shmid, 0, 0);
- if (xcbob->shm_info->shmaddr != NULL)
+ xcbob->shm_info = malloc(sizeof(XCBShmSegmentInfo));
+ if (xcbob->shm_info)
+ {
+ xcbob->shm_info->shmseg = XCBShmSEGNew(c);
+ xcbob->image = XCBImageSHMCreate(c, depth, XCBImageFormatZPixmap, NULL, w, h);
+ if (xcbob->image)
+ {
+ xcbob->shm_info->shmid = shmget(IPC_PRIVATE,
+ xcbob->image->bytes_per_line *
+ xcbob->image->height,
+ IPC_CREAT | 0777);
+ if (xcbob->shm_info->shmid >= 0)
+ {
+ xcbob->shm_info->shmaddr = xcbob->image->data =
+ shmat(xcbob->shm_info->shmid, 0, 0);
+ if (xcbob->shm_info->shmaddr != NULL)
+ {
+ /*
+ * FIXME: no error mechanism
+ */
+
+ /* XErrorHandler ph; */
+ /* EventHandlers eh; */
+
+/* XCBSync(c, 0); */
+ _xcb_err = 0;
+ /* ph = XSetErrorHandler((XErrorHandler) */
+ /* x_output_tmp_x_err); */
+ XCBShmAttach(c,
+ xcbob->shm_info->shmseg,
+ xcbob->shm_info->shmid, 0);
+/* XCBSync(c, 0); */
+ /* XSetErrorHandler((XErrorHandler)ph); */
+ if (!_xcb_err)
{
- /*
- * FIXME: no error mechanism
- */
-
- /* XErrorHandler ph; */
- /* EventHandlers eh; */
-
- XCBSync(c, 0);
- _xcb_err = 0;
- /* ph = XSetErrorHandler((XErrorHandler) */
- /* x_output_tmp_x_err); */
- XCBShmAttach(c,
- xcbob->shm_info->shmseg,
- xcbob->shm_info->shmid, 0);
- XCBSync(c, 0);
- /* XSetErrorHandler((XErrorHandler)ph); */
- if (!_xcb_err)
- {
- return xcbob;
- }
+ return xcbob;
}
- shmdt(xcbob->shm_info->shmaddr);
- shmctl(xcbob->shm_info->shmid, IPC_RMID, 0);
- }
- if (xcbob->image) XCBImageSHMDestroy(xcbob->image);
- xcbob->image = NULL;
- }
- if (xcbob->shm_info) free(xcbob->shm_info);
- xcbob->shm_info = NULL;
- }
+ }
+ shmdt(xcbob->shm_info->shmaddr);
+ shmctl(xcbob->shm_info->shmid, IPC_RMID, 0);
+ }
+ if (xcbob->image) XCBImageSHMDestroy(xcbob->image);
+ xcbob->image = NULL;
+ }
+ if (xcbob->shm_info) free(xcbob->shm_info);
+ xcbob->shm_info = NULL;
+ }
}
if (try_shm > 1) return NULL;