+2013-07-18 Mike Blumenkrantz
+
+ * Ecore-X: add ECORE_X_SYNC env variable for xlib backend
+
2013-07-17 Guillaume Friloux
* Fix ecore_con_server_timeout_set(). It was changing the
timeout value, but not the timer.
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
- add error messages for xlib
ECORE_X_ATOM_XDND_DIRECTSAVE0
+ - add ECORE_X_SYNC env variable for xlib backend
* Ecore_Wayland:
- Store global wayland interfaces in a globals list so wayland programs
can bind to other non-standard wayland protocol extensions.
* @li @ref Ecore_X_Window_Z_Order_Group
* @li @ref Ecore_X_Window_Parent_Group
* @li @ref Ecore_X_Window_Shape
+ *
+ * When using the XLib backend, setting the ECORE_X_SYNC environment variable
+ * will cause X calls to be run synchronously for easier debugging.
*/
typedef unsigned int Ecore_X_ID;
static int _ecore_x_event_sync_id = 0;
int _ecore_xlib_log_dom = -1;
+Eina_Bool _ecore_xlib_sync = EINA_FALSE;
+
#ifdef ECORE_XRANDR
static int _ecore_x_event_randr_id = 0;
#endif /* ifdef ECORE_XRANDR */
goto free_event_handlers;
_ecore_x_private_win = ecore_x_window_override_new(0, -77, -777, 123, 456);
+ _ecore_xlib_sync = !!getenv("ECORE_X_SYNC");
return _ecore_x_init_count;
eina_log_domain_unregister(_ecore_xlib_log_dom);
_ecore_xlib_log_dom = -1;
eina_shutdown();
+ _ecore_xlib_sync = EINA_FALSE;
return _ecore_x_init_count;
}
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XKillClient(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
XSelectInput(_ecore_x_disp, win,
SubstructureRedirectMask |
SubstructureNotifyMask);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
StructureNotifyMask |
SubstructureNotifyMask
);
+ if (_ecore_xlib_sync) ecore_x_sync();
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSelectInput(_ecore_x_disp, win,
PropertyChangeMask |
SubstructureNotifyMask);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
VisibilityChangeMask |
StructureNotifyMask |
SubstructureNotifyMask);
+ if (_ecore_xlib_sync) ecore_x_sync();
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI Eina_Bool
Ecore_X_Window_Attributes *att_ret)
{
XWindowAttributes att;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (!XGetWindowAttributes(_ecore_x_disp, win, &att))
- return EINA_FALSE;
+ ret = XGetWindowAttributes(_ecore_x_disp, win, &att);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!ret) return EINA_FALSE;
memset(att_ret, 0, sizeof(Ecore_X_Window_Attributes));
att_ret->root = att.root;
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XAddToSaveSet(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XRemoveFromSaveSet(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI Ecore_X_Window *
int *num)
{
Ecore_X_Window *windows = NULL;
+ Eina_Bool success;
Window root_ret = 0, parent_ret = 0, *children_ret = NULL;
unsigned int children_ret_num = 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (!XQueryTree(_ecore_x_disp, win, &root_ret, &parent_ret, &children_ret,
- &children_ret_num))
- return NULL;
+ success = XQueryTree(_ecore_x_disp, win, &root_ret, &parent_ret, &children_ret,
+ &children_ret_num);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!success) return NULL;
if (children_ret)
{
int accel_denom,
int threshold)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XChangePointerControl(_ecore_x_disp, 1, 1,
- accel_num, accel_denom, threshold) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XChangePointerControl(_ecore_x_disp, 1, 1,
+ accel_num, accel_denom, threshold);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
int *accel_denom,
int *threshold)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XGetPointerControl(_ecore_x_disp,
- accel_num, accel_denom, threshold) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XGetPointerControl(_ecore_x_disp,
+ accel_num, accel_denom, threshold);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
ecore_x_pointer_mapping_set(unsigned char *map,
int nmap)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return (XSetPointerMapping(_ecore_x_disp, map, nmap) == MappingSuccess) ? EINA_TRUE : EINA_FALSE;
+ ret = (XSetPointerMapping(_ecore_x_disp, map, nmap) == MappingSuccess);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
ecore_x_pointer_mapping_get(unsigned char *map,
int nmap)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XGetPointerMapping(_ecore_x_disp, map, nmap) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XGetPointerMapping(_ecore_x_disp, map, nmap);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
ecore_x_pointer_grab(Ecore_X_Window win)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (XGrabPointer(_ecore_x_disp, win, False,
+ ret = (XGrabPointer(_ecore_x_disp, win, False,
ButtonPressMask | ButtonReleaseMask |
EnterWindowMask | LeaveWindowMask | PointerMotionMask,
GrabModeAsync, GrabModeAsync,
- None, None, CurrentTime) == GrabSuccess)
- return EINA_TRUE;
-
- return EINA_FALSE;
+ None, None, CurrentTime) == GrabSuccess);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
ecore_x_pointer_confine_grab(Ecore_X_Window win)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (XGrabPointer(_ecore_x_disp, win, False,
+ ret = (XGrabPointer(_ecore_x_disp, win, False,
ButtonPressMask | ButtonReleaseMask |
EnterWindowMask | LeaveWindowMask | PointerMotionMask,
GrabModeAsync, GrabModeAsync,
- win, None, CurrentTime) == GrabSuccess)
- return EINA_TRUE;
-
- return EINA_FALSE;
+ win, None, CurrentTime) == GrabSuccess);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XUngrabPointer(_ecore_x_disp, CurrentTime);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI Eina_Bool
int x,
int y)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XWarpPointer(_ecore_x_disp, None, win, 0, 0, 0, 0, x, y) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XWarpPointer(_ecore_x_disp, None, win, 0, 0, 0, 0, x, y);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
ecore_x_keyboard_grab(Ecore_X_Window win)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (XGrabKeyboard(_ecore_x_disp, win, False,
+ ret = (XGrabKeyboard(_ecore_x_disp, win, False,
GrabModeAsync, GrabModeAsync,
- CurrentTime) == GrabSuccess)
- return EINA_TRUE;
-
- return EINA_FALSE;
+ CurrentTime) == GrabSuccess);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI void
locks[6] = ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
locks[7] = ECORE_X_LOCK_CAPS | ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
for (i = 0; i < 8; i++)
- XUngrabButton(_ecore_x_disp, b, m | locks[i], win);
+ {
+ XUngrabButton(_ecore_x_disp, b, m | locks[i], win);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ }
_ecore_x_sync_magic_send(1, win);
}
locks[6] = ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
locks[7] = ECORE_X_LOCK_CAPS | ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
for (i = 0; i < 8; i++)
- XGrabKey(_ecore_x_disp, keycode, m | locks[i],
- win, False, GrabModeSync, GrabModeAsync);
+ {
+ XGrabKey(_ecore_x_disp, keycode, m | locks[i],
+ win, False, GrabModeSync, GrabModeAsync);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ }
_ecore_key_grabs_num++;
t = realloc(_ecore_key_grabs,
_ecore_key_grabs_num * sizeof(Window));
long d4)
{
XEvent xev;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
xev.xclient.window = win;
xev.xclient.data.l[3] = d3;
xev.xclient.data.l[4] = d4;
- return XSendEvent(_ecore_x_disp, win, False, mask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, False, mask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
/**
int len)
{
XEvent xev;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
xev.xclient.window = win;
memcpy(xev.xclient.data.b, data, len);
memset(xev.xclient.data.b + len, 0, 20 - len);
- return XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
XWindowAttributes att;
Window tw;
int rx, ry;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XGetWindowAttributes(_ecore_x_disp, win, &att);
xev.xmotion.state = 0;
xev.xmotion.is_hint = 0;
xev.xmotion.same_screen = 1;
- return XSendEvent(_ecore_x_disp, win, True, PointerMotionMask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, True, PointerMotionMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
XWindowAttributes att;
Window tw;
int rx, ry;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XGetWindowAttributes(_ecore_x_disp, win, &att);
xev.xbutton.state = 1 << b;
xev.xbutton.button = b;
xev.xbutton.same_screen = 1;
- return XSendEvent(_ecore_x_disp, win, True, ButtonPressMask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, True, ButtonPressMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
XWindowAttributes att;
Window tw;
int rx, ry;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XGetWindowAttributes(_ecore_x_disp, win, &att);
xev.xbutton.state = 0;
xev.xbutton.button = b;
xev.xbutton.same_screen = 1;
- return XSendEvent(_ecore_x_disp, win, True, ButtonReleaseMask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, True, ButtonReleaseMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
XWindowAttributes att;
Window tw;
int rx, ry;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XGetWindowAttributes(_ecore_x_disp, win, &att);
xev.xcrossing.same_screen = 1;
xev.xcrossing.focus = 0;
xev.xcrossing.state = 0;
- return XSendEvent(_ecore_x_disp, win, True, EnterWindowMask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, True, EnterWindowMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI Eina_Bool
XWindowAttributes att;
Window tw;
int rx, ry;
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XGetWindowAttributes(_ecore_x_disp, win, &att);
xev.xcrossing.same_screen = 1;
xev.xcrossing.focus = 0;
xev.xcrossing.state = 0;
- return XSendEvent(_ecore_x_disp, win, True, LeaveWindowMask, &xev) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSendEvent(_ecore_x_disp, win, True, LeaveWindowMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XSetInputFocus(_ecore_x_disp, PointerRoot, RevertToPointerRoot, CurrentTime);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XAllowEvents(_ecore_x_disp, AsyncBoth, CurrentTime);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
if (x) *x = wx;
if (y) *y = wy;
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
{
ret = XQueryPointer(_ecore_x_disp, root[i], &rwin, &cwin,
&rx, &ry, &wx, &wy, &mask);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (ret) break;
}
EAPI unsigned int
ecore_x_visual_id_get(Ecore_X_Visual visual)
{
- return XVisualIDFromVisual(visual);
+ unsigned int vis;
+ vis = XVisualIDFromVisual(visual);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return vis;
}
/**
ecore_x_default_visual_get(Ecore_X_Display *disp,
Ecore_X_Screen *screen)
{
- return DefaultVisual(disp, ecore_x_screen_index_get(screen));
+ Ecore_X_Visual vis = DefaultVisual(disp, ecore_x_screen_index_get(screen));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return vis;
}
/**
ecore_x_default_colormap_get(Ecore_X_Display *disp,
Ecore_X_Screen *screen)
{
- return DefaultColormap(disp, ecore_x_screen_index_get(screen));
+ Ecore_X_Colormap col = DefaultColormap(disp, ecore_x_screen_index_get(screen));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return col;
}
/**
ecore_x_default_depth_get(Ecore_X_Display *disp,
Ecore_X_Screen *screen)
{
- return DefaultDepth(disp, ecore_x_screen_index_get(screen));
+ int depth = DefaultDepth(disp, ecore_x_screen_index_get(screen));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return depth;
}
EAPI void
{
#ifdef ECORE_XKB
XkbLockGroup(_ecore_x_disp, XkbUseCoreKbd, group);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif
}
EAPI Ecore_X_Atom
ecore_x_atom_get(const char *name)
{
+ Ecore_X_Atom atom;
if (!_ecore_x_disp)
return 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XInternAtom(_ecore_x_disp, name, False);
+ atom = XInternAtom(_ecore_x_disp, name, False);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return atom;
}
EAPI void
XInternAtoms(_ecore_x_disp, (char **)names, num, False, atoms_int);
for (i = 0; i < num; i++)
atoms[i] = atoms_int[i];
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI char *
LOGFN(__FILE__, __LINE__, __FUNCTION__);
xname = XGetAtomName(_ecore_x_disp, atom);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (!xname)
return NULL;
if (XCompositeQueryVersion(_ecore_x_disp, &major, &minor))
{
+ if (_ecore_xlib_sync) ecore_x_sync();
# ifdef ECORE_XRENDER
if (XRenderQueryExtension(_ecore_x_disp, &major, &minor))
{
+ if (_ecore_xlib_sync) ecore_x_sync();
# ifdef ECORE_XFIXES
if (XFixesQueryVersion(_ecore_x_disp, &major, &minor))
{
+ if (_ecore_xlib_sync) ecore_x_sync();
_composite_available = EINA_TRUE;
}
# endif
break;
}
XCompositeRedirectWindow(_ecore_x_disp, win, update);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
break;
}
XCompositeRedirectSubwindows(_ecore_x_disp, win, update);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
break;
}
XCompositeUnredirectWindow(_ecore_x_disp, win, update);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
break;
}
XCompositeUnredirectSubwindows(_ecore_x_disp, win, update);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
#ifdef ECORE_XCOMPOSITE
LOGFN(__FILE__, __LINE__, __FUNCTION__);
pixmap = XCompositeNameWindowPixmap(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
return pixmap;
}
{
#ifdef ECORE_XCOMPOSITE
ecore_x_window_shape_input_rectangle_set(win, -1, -1, 1, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
{
#ifdef ECORE_XCOMPOSITE
ecore_x_window_shape_input_rectangle_set(win, 0, 0, 65535, 65535);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
Ecore_X_Window win = 0;
#ifdef ECORE_XCOMPOSITE
win = XCompositeGetOverlayWindow(_ecore_x_disp, root);
+ if (_ecore_xlib_sync) ecore_x_sync();
ecore_x_composite_window_events_disable(win);
#endif /* ifdef ECORE_XCOMPOSITE */
return win;
#ifdef ECORE_XCOMPOSITE
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XCompositeReleaseOverlayWindow(_ecore_x_disp, root);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XCOMPOSITE */
}
XcursorImage *xci;
xci = XcursorImageCreate(w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xci)
{
int i;
// (a << 24) | (r << 16) | (g << 8) | (b);
}
c = XcursorImageLoadCursor(_ecore_x_disp, xci);
+ if (_ecore_xlib_sync) ecore_x_sync();
XcursorImageDestroy(xci);
return c;
}
};
pmap = XCreatePixmap(_ecore_x_disp, win, w, h, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
mask = XCreatePixmap(_ecore_x_disp, win, w, h, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
xim = XCreateImage(_ecore_x_disp,
DefaultVisual(_ecore_x_disp, 0),
1, ZPixmap, 0, NULL, w, h, 32, 0);
+ if (_ecore_xlib_sync) ecore_x_sync();
xim->data = malloc(xim->bytes_per_line * xim->height);
fr = 0x00; fg = 0x00; fb = 0x00;
v = 0;
XPutPixel(xim, x, y, v);
+ if (_ecore_xlib_sync) ecore_x_sync();
pix++;
}
}
gc = XCreateGC(_ecore_x_disp, pmap, 0, &gcv);
+ if (_ecore_xlib_sync) ecore_x_sync();
XPutImage(_ecore_x_disp, pmap, gc, xim, 0, 0, 0, 0, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFreeGC(_ecore_x_disp, gc);
pix = (unsigned int *)pixels;
}
}
gc = XCreateGC(_ecore_x_disp, mask, 0, &gcv);
+ if (_ecore_xlib_sync) ecore_x_sync();
XPutImage(_ecore_x_disp, mask, gc, xim, 0, 0, 0, 0, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFreeGC(_ecore_x_disp, gc);
free(xim->data);
pmap, mask,
&c1, &c2,
hot_x, hot_y);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFreePixmap(_ecore_x_disp, pmap);
XFreePixmap(_ecore_x_disp, mask);
return c;
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFreeCursor(_ecore_x_disp, c);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/*
EAPI Ecore_X_Cursor
ecore_x_cursor_shape_get(int shape)
{
+ Ecore_X_Cursor cur;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
/* Shapes are defined in Ecore_X_Cursor.h */
- return XCreateFontCursor(_ecore_x_disp, shape);
+ cur = XCreateFontCursor(_ecore_x_disp, shape);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return cur;
}
EAPI void
#ifdef ECORE_XCURSOR
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XcursorSetDefaultSize(_ecore_x_disp, size);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else /* ifdef ECORE_XCURSOR */
size = 0;
#endif /* ifdef ECORE_XCURSOR */
LOGFN(__FILE__, __LINE__, __FUNCTION__);
damage = XDamageCreate(_ecore_x_disp, d, level);
+ if (_ecore_xlib_sync) ecore_x_sync();
return damage;
#else /* ifdef ECORE_XDAMAGE */
return 0;
#ifdef ECORE_XDAMAGE
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XDamageSubtract(_ecore_x_disp, damage, repair, parts);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XDAMAGE */
}
&text_prop) == Success)
{
int bufsize = strlen((char *)text_prop.value) + 1;
+ if (_ecore_xlib_sync) ecore_x_sync();
*data_ret = malloc(bufsize);
if (!*data_ret)
{
}
else
{
+ if (_ecore_xlib_sync) ecore_x_sync();
free(mystr);
return EINA_FALSE;
}
xev.xclient.data.l[1] = 0;
xev.xclient.data.l[2] = _source->time;
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
_source->state = ECORE_X_DND_SOURCE_DROPPED;
status = EINA_TRUE;
}
xev.xclient.data.l[0] = _source->win;
xev.xclient.data.l[1] = 0;
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
_source->state = ECORE_X_DND_SOURCE_IDLE;
}
}
}
XSendEvent(_ecore_x_disp, _target->source, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
}
XSendEvent(_ecore_x_disp, _target->source, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
_target->state = ECORE_X_DND_TARGET_IDLE;
}
xev.xclient.data.l[1] = 0;
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
_source->suppress = 0;
}
xev.xclient.data.l[i + 2] = types[i];
XFree(data);
XSendEvent(_ecore_x_disp, win, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
_source->await_status = 0;
_source->will_accept = 0;
}
xev.xclient.data.l[3] = _source->time; /* Version 1 */
xev.xclient.data.l[4] = _source->action; /* Version 2, Needs to be pre-set */
XSendEvent(_ecore_x_disp, win, False, 0, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
_source->await_status = 1;
}
if (h)
*h = (int)ret_h;
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
&dummy_w, &dummy_h, &border_ret, &dummy_depth))
border_ret = 0;
-
+ if (_ecore_xlib_sync) ecore_x_sync();
return (int)border_ret;
}
if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
&dummy_w, &dummy_h, &dummy_border, &depth_ret))
depth_ret = 0;
-
+ if (_ecore_xlib_sync) ecore_x_sync();
return (int)depth_ret;
}
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFillRectangle(_ecore_x_disp, d, gc, x, y, width, height);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
XSendEvent(_ecore_x_disp, root, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, root, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/*
XSendEvent(_ecore_x_disp, root, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
xev.xclient.data.l[4] = 0; // later
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
XSendEvent(_ecore_x_disp, root, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, win, False,
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, win, False,
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, win, False,
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, win, False,
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, win, False,
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
memset(&attr, 0, sizeof(XWindowAttributes));
XGetWindowAttributes(_ecore_x_disp, w, &attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
s_attr.event_mask = mask | attr.your_event_mask;
XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
memset(&attr, 0, sizeof(XWindowAttributes));
XGetWindowAttributes(_ecore_x_disp, w, &attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
s_attr.event_mask = attr.your_event_mask & ~mask;
XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
static void
XSendEvent(_ecore_x_disp, root, False,
SubstructureRedirectMask | SubstructureNotifyMask,
xevent);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
}
else if ((xevent->xclient.message_type ==
LOGFN(__FILE__, __LINE__, __FUNCTION__);
region = XFixesCreateRegionFromBitmap(_ecore_x_disp, bitmap);
+ if (_ecore_xlib_sync) ecore_x_sync();
return region;
#else /* ifdef ECORE_XFIXES */
return 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
region = XFixesCreateRegionFromWindow(_ecore_x_disp, win, type);
+ if (_ecore_xlib_sync) ecore_x_sync();
return region;
#else /* ifdef ECORE_XFIXES */
return 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
region = XFixesCreateRegionFromGC(_ecore_x_disp, gc);
+ if (_ecore_xlib_sync) ecore_x_sync();
return region;
#else /* ifdef ECORE_XFIXES */
return 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
region = XFixesCreateRegionFromPicture(_ecore_x_disp, picture);
+ if (_ecore_xlib_sync) ecore_x_sync();
return region;
#else /* ifdef ECORE_XFIXES */
return 0;
XRectangle *xrect = _ecore_x_rectangle_ecore_to_x(rects, num);
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesSetRegion(_ecore_x_disp, region, xrect, num);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesCopyRegion(_ecore_x_disp, dest, source);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesUnionRegion(_ecore_x_disp, dest, source1, source2);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesIntersectRegion(_ecore_x_disp, dest, source1, source2);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesSubtractRegion(_ecore_x_disp, dest, source1, source2);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
xbound = _ecore_x_rectangle_ecore_to_x(bounds, num);
XFixesInvertRegion(_ecore_x_disp, dest, xbound, source);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesTranslateRegion(_ecore_x_disp, region, dx, dy);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesRegionExtents(_ecore_x_disp, dest, source);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
LOGFN(__FILE__, __LINE__, __FUNCTION__);
xrect = XFixesFetchRegionAndBounds(_ecore_x_disp, region, num, &xbound);
+ if (_ecore_xlib_sync) ecore_x_sync();
rects = _ecore_x_rectangle_x_to_ecore(xrect, *num);
(*bounds).x = xbound.x;
(*bounds).y = xbound.y;
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesExpandRegion(_ecore_x_disp, dest, source, left, right, top, bottom);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
#ifdef ECORE_XFIXES
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFixesSetGCClipRegion(_ecore_x_disp, gc, x_origin, y_origin, region);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
x_offset,
y_offset,
region);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
x_origin,
y_origin,
region);
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XFIXES */
}
Ecore_X_GC_Value_Mask value_mask,
const unsigned int *value_list)
{
+ Ecore_X_GC gc;
XGCValues gcv;
int mask;
int idx;
}
}
- return XCreateGC(_ecore_x_disp, draw, value_mask, &gcv);
+ gc = XCreateGC(_ecore_x_disp, draw, value_mask, &gcv);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return gc;
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XFreeGC(_ecore_x_disp, gc);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XGestureSelectEvents(_ecore_x_disp, win, mask);
+ if (_ecore_xlib_sync) ecore_x_sync();
return EINA_TRUE;
#else /* ifdef ECORE_XGESTURE */
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (GestureSuccess != XGestureGetSelectedEvents(_ecore_x_disp, win, &mask))
- {
- mask = ECORE_X_GESTURE_EVENT_MASK_NONE;
- return mask;
- }
+ mask = ECORE_X_GESTURE_EVENT_MASK_NONE;
+ if (_ecore_xlib_sync) ecore_x_sync();
return mask;
#else /* ifdef ECORE_XGESTURE */
int num_fingers)
{
#ifdef ECORE_XGESTURE
+ Eina_Bool ret;
if (!_gesture_available)
return EINA_FALSE;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (GestureGrabSuccess != XGestureGrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime))
- {
- return EINA_FALSE;
- }
-
- return EINA_TRUE;
+ ret = (GestureGrabSuccess == XGestureGrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
#else /* ifdef ECORE_XGESTURE */
(void) win;
(void) type;
{
#ifdef ECORE_XGESTURE
Ecore_X_Gesture_Event_Mask mask;
+ Eina_Bool ret;
if (!_gesture_available)
return EINA_FALSE;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (GestureUngrabSuccess != XGestureUngrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime))
- {
- return EINA_FALSE;
- }
-
- return EINA_TRUE;
+ ret = (GestureUngrabSuccess == XGestureUngrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
#else /* ifdef ECORE_XGESTURE */
(void) win;
(void) type;
XChangeProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_STATE,
ECORE_X_ATOM_WM_STATE, 32, PropModeReplace,
(unsigned char *)c, 2);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI Ecore_X_Window_State_Hint
0, 0x7fffffff, False, ECORE_X_ATOM_WM_STATE,
&type_ret, &format_ret, &num_ret, &bytes_after,
&prop_ret);
+ if (_ecore_xlib_sync) ecore_x_sync();
if ((prop_ret) && (num_ret == 2))
{
if (prop_ret[0] == WithdrawnState)
ev.xconfigure.above = None;
ev.xconfigure.override_redirect = False;
XSendEvent(_ecore_x_disp, win, False, StructureNotifyMask, &ev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
hints->flags |= XUrgencyHint;
XSetWMHints(_ecore_x_disp, win, hints);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFree(hints);
}
*is_urgent = EINA_FALSE;
hints = XGetWMHints(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (hints)
{
if ((hints->flags & InputHint) && (accepts_focus))
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (!XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask))
memset(&hint, 0, sizeof(XSizeHints));
+ if (_ecore_xlib_sync) ecore_x_sync();
hint.flags = 0;
if (request_pos)
}
XSetWMNormalHints(_ecore_x_disp, win, &hint);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI Eina_Bool
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (!XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask))
- return EINA_FALSE;
+ {
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return EINA_FALSE;
+ }
if ((hint.flags & USPosition) || ((hint.flags & PPosition)))
{
XmbTextListToTextProperty(_ecore_x_disp, list, 1, XStdICCTextStyle,
&xprop);
#endif /* ifdef X_HAVE_UTF8_STRING */
+ if (_ecore_xlib_sync) ecore_x_sync();
if (ret >= Success)
{
XSetWMName(_ecore_x_disp, win, &xprop);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xprop.value)
XFree(xprop.value);
}
else if (XStringListToTextProperty(list, 1, &xprop) >= Success)
{
XSetWMName(_ecore_x_disp, win, &xprop);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xprop.value)
XFree(xprop.value);
}
xprop.value = NULL;
if (XGetWMName(_ecore_x_disp, win, &xprop) >= Success)
{
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xprop.value)
{
char **list = NULL;
ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop,
&list, &num);
#endif /* ifdef X_HAVE_UTF8_STRING */
+ if (_ecore_xlib_sync) ecore_x_sync();
if ((ret == XLocaleNotSupported) ||
(ret == XNoMemory) || (ret == XConverterNotFound))
return t;
}
}
+ else
+ {
+ if (_ecore_xlib_sync) ecore_x_sync();
+ }
return NULL;
}
XSetWMProtocols(_ecore_x_disp, win, (Atom *)(protos), num);
else
XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_PROTOCOLS);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
protos = NULL;
protos_count = 0;
}
-
+ if (_ecore_xlib_sync) ecore_x_sync();
for (i = 0; i < protos_count; i++)
{
if (protos[i] == proto)
new_protos[i] = protos[i];
new_protos[protos_count] = proto;
XSetWMProtocols(_ecore_x_disp, win, new_protos, protos_count + 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
free(new_protos);
}
else
else
XDeleteProperty(_ecore_x_disp, win,
ECORE_X_ATOM_WM_PROTOCOLS);
+ if (_ecore_xlib_sync) ecore_x_sync();
goto leave;
}
if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count))
return EINA_FALSE;
+ if (_ecore_xlib_sync) ecore_x_sync();
for (i = 0; i < protos_count; i++)
if (protos[i] == proto)
xch->res_name = (char *)n;
xch->res_class = (char *)c;
XSetClassHint(_ecore_x_disp, win, xch);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFree(xch);
}
XFree(xch.res_name);
XFree(xch.res_class);
}
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XSetCommand(_ecore_x_disp, win, argv, argc);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
int i, c;
char **v;
+ Eina_Bool success;
if (argc)
*argc = 0;
*argv = NULL;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (!XGetCommand(_ecore_x_disp, win, &v, &c))
- return;
+ success = XGetCommand(_ecore_x_disp, win, &v, &c);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!success) return;
if (c < 1)
{
ret = XmbTextListToTextProperty(_ecore_x_disp, list, 1,
XStdICCTextStyle, &xprop);
#endif /* ifdef X_HAVE_UTF8_STRING */
+ if (_ecore_xlib_sync) ecore_x_sync();
if (ret >= Success)
{
XSetWMIconName(_ecore_x_disp, win, &xprop);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xprop.value)
XFree(xprop.value);
}
else if (XStringListToTextProperty(list, 1, &xprop) >= Success)
{
XSetWMIconName(_ecore_x_disp, win, &xprop);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xprop.value)
XFree(xprop.value);
}
xprop.value = NULL;
if (XGetWMIconName(_ecore_x_disp, win, &xprop) >= Success)
{
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xprop.value)
{
char **list = NULL;
ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop,
&list, &num);
#endif /* ifdef X_HAVE_UTF8_STRING */
+ if (_ecore_xlib_sync) ecore_x_sync();
if ((ret == XLocaleNotSupported) ||
(ret == XNoMemory) || (ret == XConverterNotFound))
return t;
}
}
+ else
+ {
+ if (_ecore_xlib_sync) ecore_x_sync();
+ }
return NULL;
}
{
XDeleteProperty(_ecore_x_disp,
win, ECORE_X_ATOM_WM_COLORMAP_WINDOWS);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (old_data)
XFree(old_data);
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XSetTransientForHint(_ecore_x_disp, win, forwin);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_TRANSIENT_FOR);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
ecore_x_icccm_transient_for_get(Ecore_X_Window win)
{
Window forwin;
+ Eina_Bool success;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (XGetTransientForHint(_ecore_x_disp, win, &forwin))
+ success = XGetTransientForHint(_ecore_x_disp, win, &forwin);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (success)
return (Ecore_X_Window)forwin;
else
return 0;
XSendEvent(_ecore_x_disp, root, False,
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/* FIXME: there are older E hints, gnome hints and mwm hints and new netwm */
DefaultScreen(_ecore_x_disp)),
ZPixmap, NULL,
&shminfo, 1, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (!xim)
{
_ecore_x_image_shm_can = 0;
memset(&gcv, 0, sizeof(gcv));
gcv.subwindow_mode = IncludeInferiors;
tgc = XCreateGC(_ecore_x_disp, draw, GCSubwindowMode, &gcv);
+ if (_ecore_xlib_sync) ecore_x_sync();
gc = tgc;
}
if (!im->xim) _ecore_x_image_shm_create(im);
if (im->xim)
- XShmPutImage(_ecore_x_disp, draw, gc, im->xim, sx, sy, x, y, w, h, False);
+ {
+ XShmPutImage(_ecore_x_disp, draw, gc, im->xim, sx, sy, x, y, w, h, False);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ }
if (tgc) ecore_x_gc_free(tgc);
}
}
_ATOM_SET_UTF8_STRING_LIST(root, ECORE_X_ATOM_NET_DESKTOP_NAMES, buf, len);
+ if (_ecore_xlib_sync) ecore_x_sync();
free(buf);
}
XSendEvent(_ecore_x_disp, root, False,
SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
xev.xclient.data.l[4] = 0;
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
xev.xclient.data.l[4] = 0;
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, root, False,
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, root, False,
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XSendEvent(_ecore_x_disp, win, False,
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
int
{
XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8,
PropModeReplace, (unsigned char *)str, strlen(str));
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/*
XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
ECORE_X_ATOM_UTF8_STRING, &type_ret,
&format_ret, &num_ret, &bytes_after, &prop_ret);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (prop_ret && num_ret > 0 && format_ret == 8)
{
str = malloc(num_ret + 1);
atom = XInternAtom(_ecore_x_disp, buf, True);
if (atom == None) return EINA_FALSE;
win = XGetSelectionOwner(_ecore_x_disp, atom);
+ if (_ecore_xlib_sync) ecore_x_sync();
return (win != None) ? EINA_TRUE : EINA_FALSE;
}
atom = XInternAtom(_ecore_x_disp, buf, False);
if (atom == None) return;
XSetSelectionOwner(_ecore_x_disp, atom, win, _ecore_x_event_last_time);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
int h,
int dep)
{
+ Ecore_X_Pixmap pm;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (win == 0)
win = DefaultRootWindow(_ecore_x_disp);
if (dep == 0)
dep = DefaultDepth(_ecore_x_disp, DefaultScreen(_ecore_x_disp));
- return XCreatePixmap(_ecore_x_disp, win, w, h, dep);
+ pm = XCreatePixmap(_ecore_x_disp, win, w, h, dep);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return pm;
}
/**
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (!pmap) return;
XFreePixmap(_ecore_x_disp, pmap);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XCopyArea(_ecore_x_disp, pmap, dest, gc, sx, sy, w, h, dx, dy);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
int *h)
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (pmap)
- ecore_x_drawable_geometry_get(pmap, x, y, w, h);
+ if (!pmap) return;
+ ecore_x_drawable_geometry_get(pmap, x, y, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
EAPI int
ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap)
{
+ int ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return ecore_x_drawable_depth_get(pmap);
+ ret = ecore_x_drawable_depth_get(pmap);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
#include "Ecore_Input.h"
extern int _ecore_xlib_log_dom;
+extern Eina_Bool _ecore_xlib_sync;
#ifdef ECORE_XLIB_DEFAULT_LOG_COLOR
# undef ECORE_XLIB_DEFAULT_LOG_COLOR
#endif /* ifdef ECORE_XLIB_DEFAULT_LOG_COLOR */
void _ecore_x_modifiers_get(void);
KeySym _ecore_x_XKeycodeToKeysym(Display *display, KeyCode keycode, int index);
-//#define LOGFNS 1
+#define LOGFNS 0
#ifdef LOGFNS
#include <stdio.h>
ecore_x_xregion_set(Ecore_X_XRegion *region,
Ecore_X_GC gc)
{
+ Eina_Bool ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XSetRegion(_ecore_x_disp, gc, (Region)region) ? EINA_TRUE : EINA_FALSE;
+ ret = !!XSetRegion(_ecore_x_disp, gc, (Region)region);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
EAPI void
XConvertSelection(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND, atom,
ECORE_X_ATOM_SELECTION_PROP_XDND, w,
_target->time);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
CWBitGravity |
CWWinGravity,
&attr);
-
+ if (_ecore_xlib_sync) ecore_x_sync();
if (parent == DefaultRootWindow(_ecore_x_disp))
ecore_x_window_defaults_set(win);
CWBitGravity |
CWWinGravity,
&attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
return win;
}
CWDontPropagate |
CWEventMask,
&attr);
-
+ if (_ecore_xlib_sync) ecore_x_sync();
if (parent == DefaultRootWindow(_ecore_x_disp))
{
}
{
XSetWMClientMachine(_ecore_x_disp, win, &xprop);
XFree(xprop.value);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
-
+ if (_ecore_xlib_sync) ecore_x_sync();
/*
* Set _NET_WM_PID
*/
xwc.stack_mode = stack_mode;
XConfigureWindow(_ecore_x_disp, win, mask, &xwc);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
* a smart idea.
*/
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (win)
- XDestroyWindow(_ecore_x_disp, win);
+ if (!win) return;
+ XDestroyWindow(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
xev.xclient.data.l[1] = CurrentTime;
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XMapWindow(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
xev.xunmap.from_configure = False;
XSendEvent(_ecore_x_disp, xev.xunmap.event, False,
SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XMoveWindow(_ecore_x_disp, win, x, y);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
h = 1;
XResizeWindow(_ecore_x_disp, win, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
h = 1;
XMoveResizeWindow(_ecore_x_disp, win, x, y, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
// XSetInputFocus(_ecore_x_disp, win, RevertToPointerRoot, CurrentTime);
XSetInputFocus(_ecore_x_disp, win, RevertToParent, CurrentTime);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
// XSetInputFocus(_ecore_x_disp, win, PointerRoot, t);
XSetInputFocus(_ecore_x_disp, win, RevertToParent, t);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XRaiseWindow(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XLowerWindow(_ecore_x_disp, win);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
new_parent = DefaultRootWindow(_ecore_x_disp);
XReparentWindow(_ecore_x_disp, win, new_parent, x, y);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
win = DefaultRootWindow(_ecore_x_disp);
ecore_x_drawable_geometry_get(win, &dummy_x, &dummy_y, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
win = DefaultRootWindow(_ecore_x_disp);
ecore_x_drawable_geometry_get(win, x, y, w, h);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
EAPI int
ecore_x_window_border_width_get(Ecore_X_Window win)
{
+ int w;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
/* doesn't make sense to call this on a root window */
if (!win)
return 0;
- return ecore_x_drawable_border_width_get(win);
+ w = ecore_x_drawable_border_width_get(win);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return w;
}
/**
return;
XSetWindowBorderWidth (_ecore_x_disp, win, width);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
EAPI int
ecore_x_window_depth_get(Ecore_X_Window win)
{
+ int d;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return ecore_x_drawable_depth_get(win);
+ d = ecore_x_drawable_depth_get(win);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return d;
}
/**
XGCValues gcv;
p = XCreatePixmap(_ecore_x_disp, win, 1, 1, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
m = XCreatePixmap(_ecore_x_disp, win, 1, 1, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
gc = XCreateGC(_ecore_x_disp, m, 0, &gcv);
+ if (_ecore_xlib_sync) ecore_x_sync();
XSetForeground(_ecore_x_disp, gc, 0);
+ if (_ecore_xlib_sync) ecore_x_sync();
XDrawPoint(_ecore_x_disp, m, gc, 0, 0);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFreeGC(_ecore_x_disp, gc);
c = XCreatePixmapCursor(_ecore_x_disp, p, m, &cl, &cl, 0, 0);
+ if (_ecore_xlib_sync) ecore_x_sync();
XDefineCursor(_ecore_x_disp, win, c);
XFreeCursor(_ecore_x_disp, c);
XFreePixmap(_ecore_x_disp, p);
XFreePixmap(_ecore_x_disp, m);
- }
+}
else
XDefineCursor(_ecore_x_disp, win, 0);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
XUndefineCursor(_ecore_x_disp, win);
else
XDefineCursor(_ecore_x_disp, win, c);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
EAPI int
ecore_x_window_visible_get(Ecore_X_Window win)
{
+ Eina_Bool ret;
XWindowAttributes attr;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return XGetWindowAttributes(_ecore_x_disp, win, &attr) &&
- (attr.map_state == IsViewable);
+ ret = (XGetWindowAttributes(_ecore_x_disp, win, &attr) &&
+ (attr.map_state == IsViewable));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ return ret;
}
typedef struct _Shadow Shadow;
unsigned int num;
Shadow *s, **sl;
XWindowAttributes att;
+ Eina_Bool ret;
- if (!XGetWindowAttributes(_ecore_x_disp, win, &att))
- return NULL; // if (att.class == InputOnly) return NULL;
-
- if (att.map_state != IsViewable)
- return NULL;
+ ret = (XGetWindowAttributes(_ecore_x_disp, win, &att) && (att.map_state == IsViewable));
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!ret) return NULL; // if (att.class == InputOnly) return NULL;
s = calloc(1, sizeof(Shadow));
if (!s)
if (XQueryTree(_ecore_x_disp, s->win, &root_win, &parent_win,
&list, &num))
{
+ if (_ecore_xlib_sync) ecore_x_sync();
s->children = calloc(1, sizeof(Shadow *) * num);
if (s->children)
{
{
Window root, parent, *children = NULL;
unsigned int num;
+ Eina_Bool success;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (!XQueryTree(_ecore_x_disp, win, &root, &parent, &children, &num))
- return 0;
+ success = XQueryTree(_ecore_x_disp, win, &root, &parent, &children, &num);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!success) return 0;
if (children)
XFree(children);
attr.background_pixel = col.pixel;
XChangeWindowAttributes(_ecore_x_disp, win, CWBackPixel, &attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
LOGFN(__FILE__, __LINE__, __FUNCTION__);
att.win_gravity = grav;
XChangeWindowAttributes(_ecore_x_disp, win, CWWinGravity, &att);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
LOGFN(__FILE__, __LINE__, __FUNCTION__);
att.bit_gravity = grav;
XChangeWindowAttributes(_ecore_x_disp, win, CWBitGravity, &att);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XSetWindowBackgroundPixmap(_ecore_x_disp, win, pmap);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XClearArea(_ecore_x_disp, win, x, y, w, h, False);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XClearArea(_ecore_x_disp, win, x, y, w, h, True);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
LOGFN(__FILE__, __LINE__, __FUNCTION__);
att.override_redirect = override;
XChangeWindowAttributes(_ecore_x_disp, win, CWOverrideRedirect, &att);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
#ifdef ECORE_XRENDER
{
/* ewww - round trip */
XGetWindowAttributes(_ecore_x_disp, parent, &att);
+ if (_ecore_xlib_sync) ecore_x_sync();
for (i = 0; i < ScreenCount(_ecore_x_disp); i++)
{
if (att.screen == ScreenOfDisplay(_ecore_x_disp, i))
VisualClassMask,
&vi_in,
&nvi);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (!xvi)
return 0;
for (i = 0; i < nvi; i++)
{
fmt = XRenderFindVisualFormat(_ecore_x_disp, xvi[i].visual);
+ if (_ecore_xlib_sync) ecore_x_sync();
if ((fmt->type == PictTypeDirect) && (fmt->direct.alphaMask))
{
vis = xvi[i].visual;
CWBitGravity |
CWWinGravity,
&attr);
+ if (_ecore_xlib_sync) ecore_x_sync();
XFreeColormap(_ecore_x_disp, attr.colormap);
if (parent == DefaultRootWindow(_ecore_x_disp))
#ifdef ECORE_XRENDER
XWindowAttributes att;
XRenderPictFormat *fmt;
+ Eina_Bool ret;
att.visual = 0;
- if (!XGetWindowAttributes(_ecore_x_disp, win, &att))
- return 0;
+ ret = XGetWindowAttributes(_ecore_x_disp, win, &att);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!ret) return 0;
fmt = XRenderFindVisualFormat(_ecore_x_disp, att.visual);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (!fmt)
return 0;
_ATOM_SET_CARD32(win, atom, v2, num);
free(v2);
#endif /* if SIZEOF_INT == SIZEOF_LONG */
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/*
num = len;
}
+ if (_ecore_xlib_sync) ecore_x_sync();
if (prop_ret)
XFree(prop_ret);
-
return num;
}
*plst = val;
}
+ if (_ecore_xlib_sync) ecore_x_sync();
if (prop_ret)
XFree(prop_ret);
-
return num;
}
(unsigned char *)pl, num);
free(pl);
#endif /* if SIZEOF_INT == SIZEOF_LONG */
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/*
int format_ret;
int num;
unsigned i;
+ Eina_Bool success;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
prop_ret = NULL;
- if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
+ success = (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
type, &type_ret, &format_ret, &num_ret,
- &bytes_after, &prop_ret) != Success)
- return -1;
+ &bytes_after, &prop_ret) == Success);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!success) return -1;
if (type_ret != type || format_ret != 32)
num = -1;
Ecore_X_Atom *alst;
int num;
unsigned i;
+ Eina_Bool success;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
*val = NULL;
prop_ret = NULL;
- if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
+ success = (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
type, &type_ret, &format_ret, &num_ret,
- &bytes_after, &prop_ret) != Success)
- return -1;
+ &bytes_after, &prop_ret) == Success);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!success) return -1;
if (type_ret != type || format_ret != 32)
num = -1;
if (prop_ret)
XFree(prop_ret);
-
return num;
}
Ecore_X_Atom *lst,
unsigned int len)
{
+ int ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return ecore_x_window_prop_xid_get(win, atom, XA_ATOM, lst, len);
+ ret = ecore_x_window_prop_xid_get(win, atom, XA_ATOM, lst, len);
+ return ret;
}
/*
Ecore_X_Atom atom,
Ecore_X_Atom **plst)
{
+ int ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return ecore_x_window_prop_xid_list_get(win, atom, XA_ATOM, plst);
+ ret = ecore_x_window_prop_xid_list_get(win, atom, XA_ATOM, plst);
+ return ret;
}
/*
Ecore_X_Window *lst,
unsigned int len)
{
+ int ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return ecore_x_window_prop_xid_get(win, atom, XA_WINDOW, lst, len);
+ ret = ecore_x_window_prop_xid_get(win, atom, XA_WINDOW, lst, len);
+ return ret;
}
/*
Ecore_X_Atom atom,
Ecore_X_Window **plst)
{
+ int ret;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- return ecore_x_window_prop_xid_list_get(win, atom, XA_WINDOW, plst);
+ ret = ecore_x_window_prop_xid_list_get(win, atom, XA_WINDOW, plst);
+ return ret;
}
EAPI Ecore_X_Atom
free(dat);
}
}
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
ret = XGetWindowProperty(_ecore_x_disp, win, property, 0, LONG_MAX,
False, type, &type_ret, &size_ret,
&num_ret, &bytes, &prop_ret);
-
+ if (_ecore_xlib_sync) ecore_x_sync();
if (ret != Success)
return 0;
-
if (!num_ret)
{
XFree(prop_ret);
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XDeleteProperty(_ecore_x_disp, win, property);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI Ecore_X_Atom *
*num_ret = 0;
atom_ret = XListProperties(_ecore_x_disp, win, &num);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (!atom_ret)
return NULL;
xtp.encoding = ECORE_X_ATOM_UTF8_STRING;
xtp.nitems = strlen(str);
XSetTextProperty(_ecore_x_disp, win, &xtp, type);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
char **list = NULL;
Status s;
+ if (_ecore_xlib_sync) ecore_x_sync();
if (xtp.encoding == ECORE_X_ATOM_UTF8_STRING)
str = strdup((char *)xtp.value);
else
s = XmbTextPropertyToTextList(_ecore_x_disp, &xtp,
&list, &items);
#endif /* ifdef X_HAVE_UTF8_STRING */
+ if (_ecore_xlib_sync) ecore_x_sync();
if ((s == XLocaleNotSupported) ||
(s == XNoMemory) || (s == XConverterNotFound))
str = strdup((char *)xtp.value);
XFree(xtp.value);
}
-
return str;
}
LOGFN(__FILE__, __LINE__, __FUNCTION__);
proto = _ecore_x_atoms_wm_protocols[protocol];
- if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count))
+ ret = XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!ret)
return ret;
for (i = 0; i < protos_count; i++)
}
XFree(protos);
-
return ret;
}
Atom *protos = NULL;
int i, protos_count = 0;
Ecore_X_WM_Protocol *prot_ret = NULL;
+ Eina_Bool success;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
- if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count))
+ success = XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count);
+ if (_ecore_xlib_sync) ecore_x_sync();
+ if (!success)
return NULL;
if ((!protos) || (protos_count <= 0))
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
XShapeCombineMask(_ecore_x_disp, win, ShapeBounding, 0, 0, mask, ShapeSet);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
/**
LOGFN(__FILE__, __LINE__, __FUNCTION__);
#ifdef ShapeInput
XShapeCombineMask(_ecore_x_disp, win, ShapeInput, 0, 0, mask, ShapeSet);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else /* ifdef ShapeInput */
return;
win = mask = 0;
shape_win,
ShapeBounding,
ShapeSet);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
shape_win,
ShapeInput,
ShapeSet);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = shape_win = 0;
shape_win,
ShapeBounding,
ShapeSet);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
shape_win,
ShapeInput,
ShapeSet);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = shape_win = x = y = 0;
1,
ShapeSet,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
1,
ShapeSet,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = x = y = w = h = 0;
num,
ShapeSet,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (rect) free(rect);
#else
return;
num,
ShapeSet,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (rect) free(rect);
#else
return;
1,
ShapeSubtract,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
1,
ShapeSubtract,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = x = y = w = h = 0;
shape_win,
ShapeBounding,
ShapeUnion);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
shape_win,
ShapeBounding,
ShapeUnion);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
shape_win,
ShapeInput,
ShapeUnion);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = shape_win = x = y = 0;
1,
ShapeUnion,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
1,
ShapeUnion,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = x = y = w = h = 0;
1,
ShapeIntersect,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
EAPI void
1,
ShapeIntersect,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
#else
return;
win = x = y = w = h = 0;
num,
ShapeUnion,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (rect) free(rect);
}
num,
ShapeUnion,
Unsorted);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (rect) free(rect);
#else
return;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
rect = XShapeGetRectangles(_ecore_x_disp, win, ShapeBounding, &num, &ord);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (rect)
{
if (num < 1)
LOGFN(__FILE__, __LINE__, __FUNCTION__);
rect = XShapeGetRectangles(_ecore_x_disp, win, ShapeInput, &num, &ord);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (rect)
{
if (num < 1)
&(rects[0].width), &(rects[0].height),
&di, &di))
{
+ if (_ecore_xlib_sync) ecore_x_sync();
free(rects);
return NULL;
}
+ if (_ecore_xlib_sync) ecore_x_sync();
if (num_ret) *num_ret = 1;
return rects;
#endif
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
else
XShapeSelectInput(_ecore_x_disp, win, 0);
+ if (_ecore_xlib_sync) ecore_x_sync();
}
XISetMask(mask, XI_ButtonRelease);
XISetMask(mask, XI_Motion);
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
find = EINA_TRUE;
}
else if (dev->use == XISlavePointer)
#endif /* #ifdef ECORE_XI2_2 */
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
find = EINA_TRUE;
}
#ifdef ECORE_XI2_2
XISetMask(mask, XI_TouchBegin);
XISetMask(mask, XI_TouchEnd);
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
l = eina_inlist_append(l, (Eina_Inlist *)info);
_ecore_x_xi2_touch_info_list = l;
#endif
XISelectEvents(_ecore_x_disp, win, &emask, 1);
+ if (_ecore_xlib_sync) ecore_x_sync();
return EINA_TRUE;
#else
_xin_info = NULL;
if (XineramaQueryExtension(_ecore_x_disp, &event_base, &error_base))
{
+ if (_ecore_xlib_sync) ecore_x_sync();
_xin_info = XineramaQueryScreens(_ecore_x_disp, &_xin_scr_num);
+ if (_ecore_xlib_sync) ecore_x_sync();
if (_xin_info)
return _xin_scr_num;
}
+ if (_ecore_xlib_sync) ecore_x_sync();
#endif /* ifdef ECORE_XINERAMA */
return 0;