diff --git a/legacy/evas/src/modules/engines/software_x11/evas_xcb_buffer.c b/legacy/evas/src/modules/engines/software_x11/evas_xcb_buffer.c index 74516c9bf9..c7e9c74331 100644 --- a/legacy/evas/src/modules/engines/software_x11/evas_xcb_buffer.c +++ b/legacy/evas/src/modules/engines/software_x11/evas_xcb_buffer.c @@ -327,16 +327,21 @@ evas_software_xcb_x_output_buffer_new(xcb_connection_t *c, /* XErrorHandler ph; */ /* EventHandlers eh; */ - - free(xcb_get_input_focus_reply(c, xcb_get_input_focus_unchecked(c), NULL)); - _xcb_err = 0; - /* ph = XSetErrorHandler((XErrorHandler) */ - /* x_output_tmp_x_err); */ + + if (try_shm == 2) // only needed during testing + { + free(xcb_get_input_focus_reply(c, xcb_get_input_focus_unchecked(c), NULL)); + _xcb_err = 0; + /* ph = XSetErrorHandler((XErrorHandler) */ + } xcb_shm_attach(c, xcbob->shm_info->shmseg, xcbob->shm_info->shmid, 0); - free(xcb_get_input_focus_reply(c, xcb_get_input_focus_unchecked(c), NULL)); - /* XSetErrorHandler((XErrorHandler)ph); */ + if (try_shm == 2) // only needed during testing + { + free(xcb_get_input_focus_reply(c, xcb_get_input_focus_unchecked(c), NULL)); + /* XSetErrorHandler((XErrorHandler)ph); */ + } if (!_xcb_err) { xcbob->bpl = xcbob->image->stride;