forked from enlightenment/efl
add ECORE_X_SYNC env variable for xlib backend
This commit is contained in:
parent
d77d9134f8
commit
60111ce8ca
|
@ -1,3 +1,7 @@
|
||||||
|
2013-07-18 Mike Blumenkrantz
|
||||||
|
|
||||||
|
* Ecore-X: add ECORE_X_SYNC env variable for xlib backend
|
||||||
|
|
||||||
2013-07-17 Guillaume Friloux
|
2013-07-17 Guillaume Friloux
|
||||||
* Fix ecore_con_server_timeout_set(). It was changing the
|
* Fix ecore_con_server_timeout_set(). It was changing the
|
||||||
timeout value, but not the timer.
|
timeout value, but not the timer.
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -84,6 +84,7 @@ Additions:
|
||||||
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
|
||||||
- add error messages for xlib
|
- add error messages for xlib
|
||||||
ECORE_X_ATOM_XDND_DIRECTSAVE0
|
ECORE_X_ATOM_XDND_DIRECTSAVE0
|
||||||
|
- add ECORE_X_SYNC env variable for xlib backend
|
||||||
* Ecore_Wayland:
|
* Ecore_Wayland:
|
||||||
- Store global wayland interfaces in a globals list so wayland programs
|
- Store global wayland interfaces in a globals list so wayland programs
|
||||||
can bind to other non-standard wayland protocol extensions.
|
can bind to other non-standard wayland protocol extensions.
|
||||||
|
|
|
@ -54,6 +54,9 @@
|
||||||
* @li @ref Ecore_X_Window_Z_Order_Group
|
* @li @ref Ecore_X_Window_Z_Order_Group
|
||||||
* @li @ref Ecore_X_Window_Parent_Group
|
* @li @ref Ecore_X_Window_Parent_Group
|
||||||
* @li @ref Ecore_X_Window_Shape
|
* @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;
|
typedef unsigned int Ecore_X_ID;
|
||||||
|
|
|
@ -50,6 +50,8 @@ static int _ecore_x_event_screensaver_id = 0;
|
||||||
static int _ecore_x_event_sync_id = 0;
|
static int _ecore_x_event_sync_id = 0;
|
||||||
int _ecore_xlib_log_dom = -1;
|
int _ecore_xlib_log_dom = -1;
|
||||||
|
|
||||||
|
Eina_Bool _ecore_xlib_sync = EINA_FALSE;
|
||||||
|
|
||||||
#ifdef ECORE_XRANDR
|
#ifdef ECORE_XRANDR
|
||||||
static int _ecore_x_event_randr_id = 0;
|
static int _ecore_x_event_randr_id = 0;
|
||||||
#endif /* ifdef ECORE_XRANDR */
|
#endif /* ifdef ECORE_XRANDR */
|
||||||
|
@ -678,6 +680,7 @@ ecore_x_init(const char *name)
|
||||||
goto free_event_handlers;
|
goto free_event_handlers;
|
||||||
|
|
||||||
_ecore_x_private_win = ecore_x_window_override_new(0, -77, -777, 123, 456);
|
_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;
|
return _ecore_x_init_count;
|
||||||
|
|
||||||
|
@ -738,6 +741,7 @@ _ecore_x_shutdown(int close_display)
|
||||||
eina_log_domain_unregister(_ecore_xlib_log_dom);
|
eina_log_domain_unregister(_ecore_xlib_log_dom);
|
||||||
_ecore_xlib_log_dom = -1;
|
_ecore_xlib_log_dom = -1;
|
||||||
eina_shutdown();
|
eina_shutdown();
|
||||||
|
_ecore_xlib_sync = EINA_FALSE;
|
||||||
|
|
||||||
return _ecore_x_init_count;
|
return _ecore_x_init_count;
|
||||||
}
|
}
|
||||||
|
@ -993,6 +997,7 @@ ecore_x_kill(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XKillClient(_ecore_x_disp, win);
|
XKillClient(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1329,6 +1334,7 @@ ecore_x_window_container_manage(Ecore_X_Window win)
|
||||||
XSelectInput(_ecore_x_disp, win,
|
XSelectInput(_ecore_x_disp, win,
|
||||||
SubstructureRedirectMask |
|
SubstructureRedirectMask |
|
||||||
SubstructureNotifyMask);
|
SubstructureNotifyMask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1344,7 +1350,9 @@ ecore_x_window_client_manage(Ecore_X_Window win)
|
||||||
StructureNotifyMask |
|
StructureNotifyMask |
|
||||||
SubstructureNotifyMask
|
SubstructureNotifyMask
|
||||||
);
|
);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
|
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1354,6 +1362,7 @@ ecore_x_window_sniff(Ecore_X_Window win)
|
||||||
XSelectInput(_ecore_x_disp, win,
|
XSelectInput(_ecore_x_disp, win,
|
||||||
PropertyChangeMask |
|
PropertyChangeMask |
|
||||||
SubstructureNotifyMask);
|
SubstructureNotifyMask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1367,7 +1376,9 @@ ecore_x_window_client_sniff(Ecore_X_Window win)
|
||||||
VisibilityChangeMask |
|
VisibilityChangeMask |
|
||||||
StructureNotifyMask |
|
StructureNotifyMask |
|
||||||
SubstructureNotifyMask);
|
SubstructureNotifyMask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
|
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
@ -1375,10 +1386,12 @@ ecore_x_window_attributes_get(Ecore_X_Window win,
|
||||||
Ecore_X_Window_Attributes *att_ret)
|
Ecore_X_Window_Attributes *att_ret)
|
||||||
{
|
{
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!XGetWindowAttributes(_ecore_x_disp, win, &att))
|
ret = XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
return EINA_FALSE;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!ret) return EINA_FALSE;
|
||||||
|
|
||||||
memset(att_ret, 0, sizeof(Ecore_X_Window_Attributes));
|
memset(att_ret, 0, sizeof(Ecore_X_Window_Attributes));
|
||||||
att_ret->root = att.root;
|
att_ret->root = att.root;
|
||||||
|
@ -1418,6 +1431,7 @@ ecore_x_window_save_set_add(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XAddToSaveSet(_ecore_x_disp, win);
|
XAddToSaveSet(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1425,6 +1439,7 @@ ecore_x_window_save_set_del(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XRemoveFromSaveSet(_ecore_x_disp, win);
|
XRemoveFromSaveSet(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Ecore_X_Window *
|
EAPI Ecore_X_Window *
|
||||||
|
@ -1432,13 +1447,15 @@ ecore_x_window_children_get(Ecore_X_Window win,
|
||||||
int *num)
|
int *num)
|
||||||
{
|
{
|
||||||
Ecore_X_Window *windows = NULL;
|
Ecore_X_Window *windows = NULL;
|
||||||
|
Eina_Bool success;
|
||||||
Window root_ret = 0, parent_ret = 0, *children_ret = NULL;
|
Window root_ret = 0, parent_ret = 0, *children_ret = NULL;
|
||||||
unsigned int children_ret_num = 0;
|
unsigned int children_ret_num = 0;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!XQueryTree(_ecore_x_disp, win, &root_ret, &parent_ret, &children_ret,
|
success = XQueryTree(_ecore_x_disp, win, &root_ret, &parent_ret, &children_ret,
|
||||||
&children_ret_num))
|
&children_ret_num);
|
||||||
return NULL;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!success) return NULL;
|
||||||
|
|
||||||
if (children_ret)
|
if (children_ret)
|
||||||
{
|
{
|
||||||
|
@ -1463,9 +1480,12 @@ ecore_x_pointer_control_set(int accel_num,
|
||||||
int accel_denom,
|
int accel_denom,
|
||||||
int threshold)
|
int threshold)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
return XChangePointerControl(_ecore_x_disp, 1, 1,
|
ret = !!XChangePointerControl(_ecore_x_disp, 1, 1,
|
||||||
accel_num, accel_denom, threshold) ? EINA_TRUE : EINA_FALSE;
|
accel_num, accel_denom, threshold);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
@ -1473,53 +1493,62 @@ ecore_x_pointer_control_get(int *accel_num,
|
||||||
int *accel_denom,
|
int *accel_denom,
|
||||||
int *threshold)
|
int *threshold)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
return XGetPointerControl(_ecore_x_disp,
|
ret = !!XGetPointerControl(_ecore_x_disp,
|
||||||
accel_num, accel_denom, threshold) ? EINA_TRUE : EINA_FALSE;
|
accel_num, accel_denom, threshold);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
ecore_x_pointer_mapping_set(unsigned char *map,
|
ecore_x_pointer_mapping_set(unsigned char *map,
|
||||||
int nmap)
|
int nmap)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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
|
EAPI Eina_Bool
|
||||||
ecore_x_pointer_mapping_get(unsigned char *map,
|
ecore_x_pointer_mapping_get(unsigned char *map,
|
||||||
int nmap)
|
int nmap)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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
|
EAPI Eina_Bool
|
||||||
ecore_x_pointer_grab(Ecore_X_Window win)
|
ecore_x_pointer_grab(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (XGrabPointer(_ecore_x_disp, win, False,
|
ret = (XGrabPointer(_ecore_x_disp, win, False,
|
||||||
ButtonPressMask | ButtonReleaseMask |
|
ButtonPressMask | ButtonReleaseMask |
|
||||||
EnterWindowMask | LeaveWindowMask | PointerMotionMask,
|
EnterWindowMask | LeaveWindowMask | PointerMotionMask,
|
||||||
GrabModeAsync, GrabModeAsync,
|
GrabModeAsync, GrabModeAsync,
|
||||||
None, None, CurrentTime) == GrabSuccess)
|
None, None, CurrentTime) == GrabSuccess);
|
||||||
return EINA_TRUE;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
return ret;
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
ecore_x_pointer_confine_grab(Ecore_X_Window win)
|
ecore_x_pointer_confine_grab(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (XGrabPointer(_ecore_x_disp, win, False,
|
ret = (XGrabPointer(_ecore_x_disp, win, False,
|
||||||
ButtonPressMask | ButtonReleaseMask |
|
ButtonPressMask | ButtonReleaseMask |
|
||||||
EnterWindowMask | LeaveWindowMask | PointerMotionMask,
|
EnterWindowMask | LeaveWindowMask | PointerMotionMask,
|
||||||
GrabModeAsync, GrabModeAsync,
|
GrabModeAsync, GrabModeAsync,
|
||||||
win, None, CurrentTime) == GrabSuccess)
|
win, None, CurrentTime) == GrabSuccess);
|
||||||
return EINA_TRUE;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
return ret;
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1527,6 +1556,7 @@ ecore_x_pointer_ungrab(void)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XUngrabPointer(_ecore_x_disp, CurrentTime);
|
XUngrabPointer(_ecore_x_disp, CurrentTime);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
@ -1534,20 +1564,23 @@ ecore_x_pointer_warp(Ecore_X_Window win,
|
||||||
int x,
|
int x,
|
||||||
int y)
|
int y)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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
|
EAPI Eina_Bool
|
||||||
ecore_x_keyboard_grab(Ecore_X_Window win)
|
ecore_x_keyboard_grab(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (XGrabKeyboard(_ecore_x_disp, win, False,
|
ret = (XGrabKeyboard(_ecore_x_disp, win, False,
|
||||||
GrabModeAsync, GrabModeAsync,
|
GrabModeAsync, GrabModeAsync,
|
||||||
CurrentTime) == GrabSuccess)
|
CurrentTime) == GrabSuccess);
|
||||||
return EINA_TRUE;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
return ret;
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1722,7 +1755,10 @@ ecore_x_window_button_ungrab(Ecore_X_Window win,
|
||||||
locks[6] = ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
|
locks[6] = ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
|
||||||
locks[7] = ECORE_X_LOCK_CAPS | 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++)
|
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);
|
_ecore_x_sync_magic_send(1, win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1770,8 +1806,11 @@ ecore_x_window_key_grab(Ecore_X_Window win,
|
||||||
locks[6] = ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
|
locks[6] = ECORE_X_LOCK_NUM | ECORE_X_LOCK_SCROLL;
|
||||||
locks[7] = ECORE_X_LOCK_CAPS | 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++)
|
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++;
|
_ecore_key_grabs_num++;
|
||||||
t = realloc(_ecore_key_grabs,
|
t = realloc(_ecore_key_grabs,
|
||||||
_ecore_key_grabs_num * sizeof(Window));
|
_ecore_key_grabs_num * sizeof(Window));
|
||||||
|
@ -1882,6 +1921,7 @@ ecore_x_client_message32_send(Ecore_X_Window win,
|
||||||
long d4)
|
long d4)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
xev.xclient.window = win;
|
xev.xclient.window = win;
|
||||||
|
@ -1894,7 +1934,9 @@ ecore_x_client_message32_send(Ecore_X_Window win,
|
||||||
xev.xclient.data.l[3] = d3;
|
xev.xclient.data.l[3] = d3;
|
||||||
xev.xclient.data.l[4] = d4;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1914,6 +1956,7 @@ ecore_x_client_message8_send(Ecore_X_Window win,
|
||||||
int len)
|
int len)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
xev.xclient.window = win;
|
xev.xclient.window = win;
|
||||||
|
@ -1926,7 +1969,9 @@ ecore_x_client_message8_send(Ecore_X_Window win,
|
||||||
memcpy(xev.xclient.data.b, data, len);
|
memcpy(xev.xclient.data.b, data, len);
|
||||||
memset(xev.xclient.data.b + len, 0, 20 - 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
|
EAPI Eina_Bool
|
||||||
|
@ -1938,6 +1983,7 @@ ecore_x_mouse_move_send(Ecore_X_Window win,
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
|
@ -1954,7 +2000,9 @@ ecore_x_mouse_move_send(Ecore_X_Window win,
|
||||||
xev.xmotion.state = 0;
|
xev.xmotion.state = 0;
|
||||||
xev.xmotion.is_hint = 0;
|
xev.xmotion.is_hint = 0;
|
||||||
xev.xmotion.same_screen = 1;
|
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
|
EAPI Eina_Bool
|
||||||
|
@ -1967,6 +2015,7 @@ ecore_x_mouse_down_send(Ecore_X_Window win,
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
|
@ -1983,7 +2032,9 @@ ecore_x_mouse_down_send(Ecore_X_Window win,
|
||||||
xev.xbutton.state = 1 << b;
|
xev.xbutton.state = 1 << b;
|
||||||
xev.xbutton.button = b;
|
xev.xbutton.button = b;
|
||||||
xev.xbutton.same_screen = 1;
|
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
|
EAPI Eina_Bool
|
||||||
|
@ -1996,6 +2047,7 @@ ecore_x_mouse_up_send(Ecore_X_Window win,
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
|
@ -2012,7 +2064,9 @@ ecore_x_mouse_up_send(Ecore_X_Window win,
|
||||||
xev.xbutton.state = 0;
|
xev.xbutton.state = 0;
|
||||||
xev.xbutton.button = b;
|
xev.xbutton.button = b;
|
||||||
xev.xbutton.same_screen = 1;
|
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
|
EAPI Eina_Bool
|
||||||
|
@ -2024,6 +2078,7 @@ ecore_x_mouse_in_send(Ecore_X_Window win,
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
|
@ -2042,7 +2097,9 @@ ecore_x_mouse_in_send(Ecore_X_Window win,
|
||||||
xev.xcrossing.same_screen = 1;
|
xev.xcrossing.same_screen = 1;
|
||||||
xev.xcrossing.focus = 0;
|
xev.xcrossing.focus = 0;
|
||||||
xev.xcrossing.state = 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
|
EAPI Eina_Bool
|
||||||
|
@ -2054,6 +2111,7 @@ ecore_x_mouse_out_send(Ecore_X_Window win,
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
|
@ -2072,7 +2130,9 @@ ecore_x_mouse_out_send(Ecore_X_Window win,
|
||||||
xev.xcrossing.same_screen = 1;
|
xev.xcrossing.same_screen = 1;
|
||||||
xev.xcrossing.focus = 0;
|
xev.xcrossing.focus = 0;
|
||||||
xev.xcrossing.state = 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
|
EAPI void
|
||||||
|
@ -2080,6 +2140,7 @@ ecore_x_focus_reset(void)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XSetInputFocus(_ecore_x_disp, PointerRoot, RevertToPointerRoot, CurrentTime);
|
XSetInputFocus(_ecore_x_disp, PointerRoot, RevertToPointerRoot, CurrentTime);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -2087,6 +2148,7 @@ ecore_x_events_allow_all(void)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XAllowEvents(_ecore_x_disp, AsyncBoth, CurrentTime);
|
XAllowEvents(_ecore_x_disp, AsyncBoth, CurrentTime);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -2117,6 +2179,7 @@ ecore_x_pointer_xy_get(Ecore_X_Window win,
|
||||||
|
|
||||||
if (x) *x = wx;
|
if (x) *x = wx;
|
||||||
if (y) *y = wy;
|
if (y) *y = wy;
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -2134,6 +2197,7 @@ ecore_x_pointer_root_xy_get(int *x, int *y)
|
||||||
{
|
{
|
||||||
ret = XQueryPointer(_ecore_x_disp, root[i], &rwin, &cwin,
|
ret = XQueryPointer(_ecore_x_disp, root[i], &rwin, &cwin,
|
||||||
&rx, &ry, &wx, &wy, &mask);
|
&rx, &ry, &wx, &wy, &mask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (ret) break;
|
if (ret) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2156,7 +2220,10 @@ ecore_x_pointer_root_xy_get(int *x, int *y)
|
||||||
EAPI unsigned int
|
EAPI unsigned int
|
||||||
ecore_x_visual_id_get(Ecore_X_Visual visual)
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2172,7 +2239,9 @@ EAPI Ecore_X_Visual
|
||||||
ecore_x_default_visual_get(Ecore_X_Display *disp,
|
ecore_x_default_visual_get(Ecore_X_Display *disp,
|
||||||
Ecore_X_Screen *screen)
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2188,7 +2257,9 @@ EAPI Ecore_X_Colormap
|
||||||
ecore_x_default_colormap_get(Ecore_X_Display *disp,
|
ecore_x_default_colormap_get(Ecore_X_Display *disp,
|
||||||
Ecore_X_Screen *screen)
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2204,7 +2275,9 @@ EAPI int
|
||||||
ecore_x_default_depth_get(Ecore_X_Display *disp,
|
ecore_x_default_depth_get(Ecore_X_Display *disp,
|
||||||
Ecore_X_Screen *screen)
|
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
|
EAPI void
|
||||||
|
@ -2212,6 +2285,7 @@ ecore_x_xkb_select_group(int group)
|
||||||
{
|
{
|
||||||
#ifdef ECORE_XKB
|
#ifdef ECORE_XKB
|
||||||
XkbLockGroup(_ecore_x_disp, XkbUseCoreKbd, group);
|
XkbLockGroup(_ecore_x_disp, XkbUseCoreKbd, group);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,11 +44,14 @@ _ecore_x_atoms_init(void)
|
||||||
EAPI Ecore_X_Atom
|
EAPI Ecore_X_Atom
|
||||||
ecore_x_atom_get(const char *name)
|
ecore_x_atom_get(const char *name)
|
||||||
{
|
{
|
||||||
|
Ecore_X_Atom atom;
|
||||||
if (!_ecore_x_disp)
|
if (!_ecore_x_disp)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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
|
EAPI void
|
||||||
|
@ -67,6 +70,7 @@ ecore_x_atoms_get(const char **names,
|
||||||
XInternAtoms(_ecore_x_disp, (char **)names, num, False, atoms_int);
|
XInternAtoms(_ecore_x_disp, (char **)names, num, False, atoms_int);
|
||||||
for (i = 0; i < num; i++)
|
for (i = 0; i < num; i++)
|
||||||
atoms[i] = atoms_int[i];
|
atoms[i] = atoms_int[i];
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI char *
|
EAPI char *
|
||||||
|
@ -81,6 +85,7 @@ ecore_x_atom_name_get(Ecore_X_Atom atom)
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
xname = XGetAtomName(_ecore_x_disp, atom);
|
xname = XGetAtomName(_ecore_x_disp, atom);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (!xname)
|
if (!xname)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
|
|
@ -17,12 +17,15 @@ _ecore_x_composite_init(void)
|
||||||
|
|
||||||
if (XCompositeQueryVersion(_ecore_x_disp, &major, &minor))
|
if (XCompositeQueryVersion(_ecore_x_disp, &major, &minor))
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
# ifdef ECORE_XRENDER
|
# ifdef ECORE_XRENDER
|
||||||
if (XRenderQueryExtension(_ecore_x_disp, &major, &minor))
|
if (XRenderQueryExtension(_ecore_x_disp, &major, &minor))
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
# ifdef ECORE_XFIXES
|
# ifdef ECORE_XFIXES
|
||||||
if (XFixesQueryVersion(_ecore_x_disp, &major, &minor))
|
if (XFixesQueryVersion(_ecore_x_disp, &major, &minor))
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
_composite_available = EINA_TRUE;
|
_composite_available = EINA_TRUE;
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
@ -58,6 +61,7 @@ ecore_x_composite_redirect_window(Ecore_X_Window win,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
XCompositeRedirectWindow(_ecore_x_disp, win, update);
|
XCompositeRedirectWindow(_ecore_x_disp, win, update);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,6 +84,7 @@ ecore_x_composite_redirect_subwindows(Ecore_X_Window win,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
XCompositeRedirectSubwindows(_ecore_x_disp, win, update);
|
XCompositeRedirectSubwindows(_ecore_x_disp, win, update);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,6 +107,7 @@ ecore_x_composite_unredirect_window(Ecore_X_Window win,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
XCompositeUnredirectWindow(_ecore_x_disp, win, update);
|
XCompositeUnredirectWindow(_ecore_x_disp, win, update);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,6 +130,7 @@ ecore_x_composite_unredirect_subwindows(Ecore_X_Window win,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
XCompositeUnredirectSubwindows(_ecore_x_disp, win, update);
|
XCompositeUnredirectSubwindows(_ecore_x_disp, win, update);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,6 +141,7 @@ ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win)
|
||||||
#ifdef ECORE_XCOMPOSITE
|
#ifdef ECORE_XCOMPOSITE
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
pixmap = XCompositeNameWindowPixmap(_ecore_x_disp, win);
|
pixmap = XCompositeNameWindowPixmap(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
return pixmap;
|
return pixmap;
|
||||||
}
|
}
|
||||||
|
@ -143,6 +151,7 @@ ecore_x_composite_window_events_disable(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
#ifdef ECORE_XCOMPOSITE
|
#ifdef ECORE_XCOMPOSITE
|
||||||
ecore_x_window_shape_input_rectangle_set(win, -1, -1, 1, 1);
|
ecore_x_window_shape_input_rectangle_set(win, -1, -1, 1, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,6 +160,7 @@ ecore_x_composite_window_events_enable(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
#ifdef ECORE_XCOMPOSITE
|
#ifdef ECORE_XCOMPOSITE
|
||||||
ecore_x_window_shape_input_rectangle_set(win, 0, 0, 65535, 65535);
|
ecore_x_window_shape_input_rectangle_set(win, 0, 0, 65535, 65535);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,6 +170,7 @@ ecore_x_composite_render_window_enable(Ecore_X_Window root)
|
||||||
Ecore_X_Window win = 0;
|
Ecore_X_Window win = 0;
|
||||||
#ifdef ECORE_XCOMPOSITE
|
#ifdef ECORE_XCOMPOSITE
|
||||||
win = XCompositeGetOverlayWindow(_ecore_x_disp, root);
|
win = XCompositeGetOverlayWindow(_ecore_x_disp, root);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
ecore_x_composite_window_events_disable(win);
|
ecore_x_composite_window_events_disable(win);
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
return win;
|
return win;
|
||||||
|
@ -171,6 +182,7 @@ ecore_x_composite_render_window_disable(Ecore_X_Window root)
|
||||||
#ifdef ECORE_XCOMPOSITE
|
#ifdef ECORE_XCOMPOSITE
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XCompositeReleaseOverlayWindow(_ecore_x_disp, root);
|
XCompositeReleaseOverlayWindow(_ecore_x_disp, root);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XCOMPOSITE */
|
#endif /* ifdef ECORE_XCOMPOSITE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ ecore_x_cursor_new(Ecore_X_Window win,
|
||||||
XcursorImage *xci;
|
XcursorImage *xci;
|
||||||
|
|
||||||
xci = XcursorImageCreate(w, h);
|
xci = XcursorImageCreate(w, h);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xci)
|
if (xci)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -47,6 +48,7 @@ ecore_x_cursor_new(Ecore_X_Window win,
|
||||||
// (a << 24) | (r << 16) | (g << 8) | (b);
|
// (a << 24) | (r << 16) | (g << 8) | (b);
|
||||||
}
|
}
|
||||||
c = XcursorImageLoadCursor(_ecore_x_disp, xci);
|
c = XcursorImageLoadCursor(_ecore_x_disp, xci);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XcursorImageDestroy(xci);
|
XcursorImageDestroy(xci);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
@ -72,10 +74,13 @@ ecore_x_cursor_new(Ecore_X_Window win,
|
||||||
};
|
};
|
||||||
|
|
||||||
pmap = XCreatePixmap(_ecore_x_disp, win, w, h, 1);
|
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);
|
mask = XCreatePixmap(_ecore_x_disp, win, w, h, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
xim = XCreateImage(_ecore_x_disp,
|
xim = XCreateImage(_ecore_x_disp,
|
||||||
DefaultVisual(_ecore_x_disp, 0),
|
DefaultVisual(_ecore_x_disp, 0),
|
||||||
1, ZPixmap, 0, NULL, w, h, 32, 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);
|
xim->data = malloc(xim->bytes_per_line * xim->height);
|
||||||
|
|
||||||
fr = 0x00; fg = 0x00; fb = 0x00;
|
fr = 0x00; fg = 0x00; fb = 0x00;
|
||||||
|
@ -146,11 +151,14 @@ ecore_x_cursor_new(Ecore_X_Window win,
|
||||||
v = 0;
|
v = 0;
|
||||||
|
|
||||||
XPutPixel(xim, x, y, v);
|
XPutPixel(xim, x, y, v);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
pix++;
|
pix++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gc = XCreateGC(_ecore_x_disp, pmap, 0, &gcv);
|
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);
|
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);
|
XFreeGC(_ecore_x_disp, gc);
|
||||||
|
|
||||||
pix = (unsigned int *)pixels;
|
pix = (unsigned int *)pixels;
|
||||||
|
@ -171,7 +179,9 @@ ecore_x_cursor_new(Ecore_X_Window win,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gc = XCreateGC(_ecore_x_disp, mask, 0, &gcv);
|
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);
|
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);
|
XFreeGC(_ecore_x_disp, gc);
|
||||||
|
|
||||||
free(xim->data);
|
free(xim->data);
|
||||||
|
@ -194,6 +204,7 @@ ecore_x_cursor_new(Ecore_X_Window win,
|
||||||
pmap, mask,
|
pmap, mask,
|
||||||
&c1, &c2,
|
&c1, &c2,
|
||||||
hot_x, hot_y);
|
hot_x, hot_y);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XFreePixmap(_ecore_x_disp, pmap);
|
XFreePixmap(_ecore_x_disp, pmap);
|
||||||
XFreePixmap(_ecore_x_disp, mask);
|
XFreePixmap(_ecore_x_disp, mask);
|
||||||
return c;
|
return c;
|
||||||
|
@ -207,6 +218,7 @@ ecore_x_cursor_free(Ecore_X_Cursor c)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFreeCursor(_ecore_x_disp, c);
|
XFreeCursor(_ecore_x_disp, c);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -217,9 +229,12 @@ ecore_x_cursor_free(Ecore_X_Cursor c)
|
||||||
EAPI Ecore_X_Cursor
|
EAPI Ecore_X_Cursor
|
||||||
ecore_x_cursor_shape_get(int shape)
|
ecore_x_cursor_shape_get(int shape)
|
||||||
{
|
{
|
||||||
|
Ecore_X_Cursor cur;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
/* Shapes are defined in Ecore_X_Cursor.h */
|
/* 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
|
EAPI void
|
||||||
|
@ -228,6 +243,7 @@ ecore_x_cursor_size_set(int size)
|
||||||
#ifdef ECORE_XCURSOR
|
#ifdef ECORE_XCURSOR
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XcursorSetDefaultSize(_ecore_x_disp, size);
|
XcursorSetDefaultSize(_ecore_x_disp, size);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else /* ifdef ECORE_XCURSOR */
|
#else /* ifdef ECORE_XCURSOR */
|
||||||
size = 0;
|
size = 0;
|
||||||
#endif /* ifdef ECORE_XCURSOR */
|
#endif /* ifdef ECORE_XCURSOR */
|
||||||
|
|
|
@ -43,6 +43,7 @@ ecore_x_damage_new(Ecore_X_Drawable d,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
damage = XDamageCreate(_ecore_x_disp, d, level);
|
damage = XDamageCreate(_ecore_x_disp, d, level);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return damage;
|
return damage;
|
||||||
#else /* ifdef ECORE_XDAMAGE */
|
#else /* ifdef ECORE_XDAMAGE */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -66,6 +67,7 @@ ecore_x_damage_subtract(Ecore_X_Damage damage,
|
||||||
#ifdef ECORE_XDAMAGE
|
#ifdef ECORE_XDAMAGE
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XDamageSubtract(_ecore_x_disp, damage, repair, parts);
|
XDamageSubtract(_ecore_x_disp, damage, repair, parts);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XDAMAGE */
|
#endif /* ifdef ECORE_XDAMAGE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -113,6 +113,7 @@ _ecore_x_dnd_converter_copy(char *target EINA_UNUSED,
|
||||||
&text_prop) == Success)
|
&text_prop) == Success)
|
||||||
{
|
{
|
||||||
int bufsize = strlen((char *)text_prop.value) + 1;
|
int bufsize = strlen((char *)text_prop.value) + 1;
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
*data_ret = malloc(bufsize);
|
*data_ret = malloc(bufsize);
|
||||||
if (!*data_ret)
|
if (!*data_ret)
|
||||||
{
|
{
|
||||||
|
@ -127,6 +128,7 @@ _ecore_x_dnd_converter_copy(char *target EINA_UNUSED,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
free(mystr);
|
free(mystr);
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -472,6 +474,7 @@ _ecore_x_dnd_drop(Eina_Bool self)
|
||||||
xev.xclient.data.l[1] = 0;
|
xev.xclient.data.l[1] = 0;
|
||||||
xev.xclient.data.l[2] = _source->time;
|
xev.xclient.data.l[2] = _source->time;
|
||||||
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
_source->state = ECORE_X_DND_SOURCE_DROPPED;
|
_source->state = ECORE_X_DND_SOURCE_DROPPED;
|
||||||
status = EINA_TRUE;
|
status = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -481,6 +484,7 @@ _ecore_x_dnd_drop(Eina_Bool self)
|
||||||
xev.xclient.data.l[0] = _source->win;
|
xev.xclient.data.l[0] = _source->win;
|
||||||
xev.xclient.data.l[1] = 0;
|
xev.xclient.data.l[1] = 0;
|
||||||
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
_source->state = ECORE_X_DND_SOURCE_IDLE;
|
_source->state = ECORE_X_DND_SOURCE_IDLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -576,6 +580,7 @@ ecore_x_dnd_send_status(Eina_Bool will_accept,
|
||||||
}
|
}
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, _target->source, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, _target->source, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -603,6 +608,7 @@ ecore_x_dnd_send_finished(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, _target->source, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, _target->source, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
_target->state = ECORE_X_DND_TARGET_IDLE;
|
_target->state = ECORE_X_DND_TARGET_IDLE;
|
||||||
}
|
}
|
||||||
|
@ -663,6 +669,7 @@ _ecore_x_dnd_drag(Ecore_X_Window root,
|
||||||
xev.xclient.data.l[1] = 0;
|
xev.xclient.data.l[1] = 0;
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, _source->dest, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
_source->suppress = 0;
|
_source->suppress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -704,6 +711,7 @@ _ecore_x_dnd_drag(Ecore_X_Window root,
|
||||||
xev.xclient.data.l[i + 2] = types[i];
|
xev.xclient.data.l[i + 2] = types[i];
|
||||||
XFree(data);
|
XFree(data);
|
||||||
XSendEvent(_ecore_x_disp, win, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, win, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
_source->await_status = 0;
|
_source->await_status = 0;
|
||||||
_source->will_accept = 0;
|
_source->will_accept = 0;
|
||||||
}
|
}
|
||||||
|
@ -726,6 +734,7 @@ _ecore_x_dnd_drag(Ecore_X_Window root,
|
||||||
xev.xclient.data.l[3] = _source->time; /* Version 1 */
|
xev.xclient.data.l[3] = _source->time; /* Version 1 */
|
||||||
xev.xclient.data.l[4] = _source->action; /* Version 2, Needs to be pre-set */
|
xev.xclient.data.l[4] = _source->action; /* Version 2, Needs to be pre-set */
|
||||||
XSendEvent(_ecore_x_disp, win, False, 0, &xev);
|
XSendEvent(_ecore_x_disp, win, False, 0, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
_source->await_status = 1;
|
_source->await_status = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,7 @@ ecore_x_drawable_geometry_get(Ecore_X_Drawable d,
|
||||||
|
|
||||||
if (h)
|
if (h)
|
||||||
*h = (int)ret_h;
|
*h = (int)ret_h;
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -71,7 +72,7 @@ ecore_x_drawable_border_width_get(Ecore_X_Drawable d)
|
||||||
if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
|
if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
|
||||||
&dummy_w, &dummy_h, &border_ret, &dummy_depth))
|
&dummy_w, &dummy_h, &border_ret, &dummy_depth))
|
||||||
border_ret = 0;
|
border_ret = 0;
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return (int)border_ret;
|
return (int)border_ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +93,7 @@ ecore_x_drawable_depth_get(Ecore_X_Drawable d)
|
||||||
if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
|
if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
|
||||||
&dummy_w, &dummy_h, &dummy_border, &depth_ret))
|
&dummy_w, &dummy_h, &dummy_border, &depth_ret))
|
||||||
depth_ret = 0;
|
depth_ret = 0;
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return (int)depth_ret;
|
return (int)depth_ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,5 +116,6 @@ ecore_x_drawable_rectangle_fill(Ecore_X_Drawable d,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFillRectangle(_ecore_x_disp, d, gc, x, y, width, height);
|
XFillRectangle(_ecore_x_disp, d, gc, x, y, width, height);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1089,6 +1089,7 @@ ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask,
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1117,6 +1118,7 @@ ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask,
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1440,6 +1442,7 @@ ecore_x_e_window_profile_change_send(Ecore_X_Window root,
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask,
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1467,6 +1470,7 @@ ecore_x_e_window_profile_change_request_send(Ecore_X_Window win,
|
||||||
xev.xclient.data.l[4] = 0; // later
|
xev.xclient.data.l[4] = 0; // later
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1498,6 +1502,7 @@ ecore_x_e_window_profile_change_done_send(Ecore_X_Window root,
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask,
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1586,6 +1591,7 @@ ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
|
||||||
XSendEvent(_ecore_x_disp, win, False,
|
XSendEvent(_ecore_x_disp, win, False,
|
||||||
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1608,6 +1614,7 @@ ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
|
||||||
XSendEvent(_ecore_x_disp, win, False,
|
XSendEvent(_ecore_x_disp, win, False,
|
||||||
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1630,6 +1637,7 @@ ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
|
||||||
XSendEvent(_ecore_x_disp, win, False,
|
XSendEvent(_ecore_x_disp, win, False,
|
||||||
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1652,6 +1660,7 @@ ecore_x_e_comp_flush_send(Ecore_X_Window win)
|
||||||
XSendEvent(_ecore_x_disp, win, False,
|
XSendEvent(_ecore_x_disp, win, False,
|
||||||
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1674,6 +1683,7 @@ ecore_x_e_comp_dump_send(Ecore_X_Window win)
|
||||||
XSendEvent(_ecore_x_disp, win, False,
|
XSendEvent(_ecore_x_disp, win, False,
|
||||||
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
&xev);
|
&xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
|
@ -115,8 +115,10 @@ ecore_x_event_mask_set(Ecore_X_Window w,
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(XWindowAttributes));
|
memset(&attr, 0, sizeof(XWindowAttributes));
|
||||||
XGetWindowAttributes(_ecore_x_disp, w, &attr);
|
XGetWindowAttributes(_ecore_x_disp, w, &attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
s_attr.event_mask = mask | attr.your_event_mask;
|
s_attr.event_mask = mask | attr.your_event_mask;
|
||||||
XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr);
|
XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -132,8 +134,10 @@ ecore_x_event_mask_unset(Ecore_X_Window w,
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(XWindowAttributes));
|
memset(&attr, 0, sizeof(XWindowAttributes));
|
||||||
XGetWindowAttributes(_ecore_x_disp, w, &attr);
|
XGetWindowAttributes(_ecore_x_disp, w, &attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
s_attr.event_mask = attr.your_event_mask & ~mask;
|
s_attr.event_mask = attr.your_event_mask & ~mask;
|
||||||
XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr);
|
XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1889,6 +1893,7 @@ _ecore_x_event_handle_client_message(XEvent *xevent)
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask,
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
xevent);
|
xevent);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((xevent->xclient.message_type ==
|
else if ((xevent->xclient.message_type ==
|
||||||
|
|
|
@ -130,6 +130,7 @@ ecore_x_region_new_from_bitmap(Ecore_X_Pixmap bitmap)
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
region = XFixesCreateRegionFromBitmap(_ecore_x_disp, bitmap);
|
region = XFixesCreateRegionFromBitmap(_ecore_x_disp, bitmap);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return region;
|
return region;
|
||||||
#else /* ifdef ECORE_XFIXES */
|
#else /* ifdef ECORE_XFIXES */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -145,6 +146,7 @@ ecore_x_region_new_from_window(Ecore_X_Window win,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
region = XFixesCreateRegionFromWindow(_ecore_x_disp, win, type);
|
region = XFixesCreateRegionFromWindow(_ecore_x_disp, win, type);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return region;
|
return region;
|
||||||
#else /* ifdef ECORE_XFIXES */
|
#else /* ifdef ECORE_XFIXES */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -159,6 +161,7 @@ ecore_x_region_new_from_gc(Ecore_X_GC gc)
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
region = XFixesCreateRegionFromGC(_ecore_x_disp, gc);
|
region = XFixesCreateRegionFromGC(_ecore_x_disp, gc);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return region;
|
return region;
|
||||||
#else /* ifdef ECORE_XFIXES */
|
#else /* ifdef ECORE_XFIXES */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -173,6 +176,7 @@ ecore_x_region_new_from_picture(Ecore_X_Picture picture)
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
region = XFixesCreateRegionFromPicture(_ecore_x_disp, picture);
|
region = XFixesCreateRegionFromPicture(_ecore_x_disp, picture);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return region;
|
return region;
|
||||||
#else /* ifdef ECORE_XFIXES */
|
#else /* ifdef ECORE_XFIXES */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -197,6 +201,7 @@ ecore_x_region_set(Ecore_X_Region region,
|
||||||
XRectangle *xrect = _ecore_x_rectangle_ecore_to_x(rects, num);
|
XRectangle *xrect = _ecore_x_rectangle_ecore_to_x(rects, num);
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesSetRegion(_ecore_x_disp, region, xrect, num);
|
XFixesSetRegion(_ecore_x_disp, region, xrect, num);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,6 +212,7 @@ ecore_x_region_copy(Ecore_X_Region dest,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesCopyRegion(_ecore_x_disp, dest, source);
|
XFixesCopyRegion(_ecore_x_disp, dest, source);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,6 +224,7 @@ ecore_x_region_combine(Ecore_X_Region dest,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesUnionRegion(_ecore_x_disp, dest, source1, source2);
|
XFixesUnionRegion(_ecore_x_disp, dest, source1, source2);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,6 +236,7 @@ ecore_x_region_intersect(Ecore_X_Region dest,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesIntersectRegion(_ecore_x_disp, dest, source1, source2);
|
XFixesIntersectRegion(_ecore_x_disp, dest, source1, source2);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,6 +248,7 @@ ecore_x_region_subtract(Ecore_X_Region dest,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesSubtractRegion(_ecore_x_disp, dest, source1, source2);
|
XFixesSubtractRegion(_ecore_x_disp, dest, source1, source2);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,6 +267,7 @@ ecore_x_region_invert(Ecore_X_Region dest,
|
||||||
xbound = _ecore_x_rectangle_ecore_to_x(bounds, num);
|
xbound = _ecore_x_rectangle_ecore_to_x(bounds, num);
|
||||||
|
|
||||||
XFixesInvertRegion(_ecore_x_disp, dest, xbound, source);
|
XFixesInvertRegion(_ecore_x_disp, dest, xbound, source);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,6 +279,7 @@ ecore_x_region_translate(Ecore_X_Region region,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesTranslateRegion(_ecore_x_disp, region, dx, dy);
|
XFixesTranslateRegion(_ecore_x_disp, region, dx, dy);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,6 +290,7 @@ ecore_x_region_extents(Ecore_X_Region dest,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesRegionExtents(_ecore_x_disp, dest, source);
|
XFixesRegionExtents(_ecore_x_disp, dest, source);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -292,6 +304,7 @@ ecore_x_region_fetch(Ecore_X_Region region,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
xrect = XFixesFetchRegionAndBounds(_ecore_x_disp, region, num, &xbound);
|
xrect = XFixesFetchRegionAndBounds(_ecore_x_disp, region, num, &xbound);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
rects = _ecore_x_rectangle_x_to_ecore(xrect, *num);
|
rects = _ecore_x_rectangle_x_to_ecore(xrect, *num);
|
||||||
(*bounds).x = xbound.x;
|
(*bounds).x = xbound.x;
|
||||||
(*bounds).y = xbound.y;
|
(*bounds).y = xbound.y;
|
||||||
|
@ -314,6 +327,7 @@ ecore_x_region_expand(Ecore_X_Region dest,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesExpandRegion(_ecore_x_disp, dest, source, left, right, top, bottom);
|
XFixesExpandRegion(_ecore_x_disp, dest, source, left, right, top, bottom);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,6 +340,7 @@ ecore_x_region_gc_clip_set(Ecore_X_Region region,
|
||||||
#ifdef ECORE_XFIXES
|
#ifdef ECORE_XFIXES
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFixesSetGCClipRegion(_ecore_x_disp, gc, x_origin, y_origin, region);
|
XFixesSetGCClipRegion(_ecore_x_disp, gc, x_origin, y_origin, region);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -344,6 +359,7 @@ ecore_x_region_window_shape_set(Ecore_X_Region region,
|
||||||
x_offset,
|
x_offset,
|
||||||
y_offset,
|
y_offset,
|
||||||
region);
|
region);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,6 +376,7 @@ ecore_x_region_picture_clip_set(Ecore_X_Region region,
|
||||||
x_origin,
|
x_origin,
|
||||||
y_origin,
|
y_origin,
|
||||||
region);
|
region);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#endif /* ifdef ECORE_XFIXES */
|
#endif /* ifdef ECORE_XFIXES */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ ecore_x_gc_new(Ecore_X_Drawable draw,
|
||||||
Ecore_X_GC_Value_Mask value_mask,
|
Ecore_X_GC_Value_Mask value_mask,
|
||||||
const unsigned int *value_list)
|
const unsigned int *value_list)
|
||||||
{
|
{
|
||||||
|
Ecore_X_GC gc;
|
||||||
XGCValues gcv;
|
XGCValues gcv;
|
||||||
int mask;
|
int mask;
|
||||||
int idx;
|
int idx;
|
||||||
|
@ -155,7 +156,9 @@ ecore_x_gc_new(Ecore_X_Drawable draw,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -167,5 +170,6 @@ ecore_x_gc_free(Ecore_X_GC gc)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XFreeGC(_ecore_x_disp, gc);
|
XFreeGC(_ecore_x_disp, gc);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ ecore_x_gesture_events_select(Ecore_X_Window win,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XGestureSelectEvents(_ecore_x_disp, win, mask);
|
XGestureSelectEvents(_ecore_x_disp, win, mask);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
#else /* ifdef ECORE_XGESTURE */
|
#else /* ifdef ECORE_XGESTURE */
|
||||||
|
@ -73,10 +74,8 @@ ecore_x_gesture_events_selected_get(Ecore_X_Window win)
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (GestureSuccess != XGestureGetSelectedEvents(_ecore_x_disp, win, &mask))
|
if (GestureSuccess != XGestureGetSelectedEvents(_ecore_x_disp, win, &mask))
|
||||||
{
|
mask = ECORE_X_GESTURE_EVENT_MASK_NONE;
|
||||||
mask = ECORE_X_GESTURE_EVENT_MASK_NONE;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return mask;
|
|
||||||
}
|
|
||||||
|
|
||||||
return mask;
|
return mask;
|
||||||
#else /* ifdef ECORE_XGESTURE */
|
#else /* ifdef ECORE_XGESTURE */
|
||||||
|
@ -91,16 +90,14 @@ ecore_x_gesture_event_grab(Ecore_X_Window win,
|
||||||
int num_fingers)
|
int num_fingers)
|
||||||
{
|
{
|
||||||
#ifdef ECORE_XGESTURE
|
#ifdef ECORE_XGESTURE
|
||||||
|
Eina_Bool ret;
|
||||||
if (!_gesture_available)
|
if (!_gesture_available)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (GestureGrabSuccess != XGestureGrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime))
|
ret = (GestureGrabSuccess == XGestureGrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime));
|
||||||
{
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return EINA_FALSE;
|
return ret;
|
||||||
}
|
|
||||||
|
|
||||||
return EINA_TRUE;
|
|
||||||
#else /* ifdef ECORE_XGESTURE */
|
#else /* ifdef ECORE_XGESTURE */
|
||||||
(void) win;
|
(void) win;
|
||||||
(void) type;
|
(void) type;
|
||||||
|
@ -116,17 +113,15 @@ ecore_x_gesture_event_ungrab(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
#ifdef ECORE_XGESTURE
|
#ifdef ECORE_XGESTURE
|
||||||
Ecore_X_Gesture_Event_Mask mask;
|
Ecore_X_Gesture_Event_Mask mask;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
if (!_gesture_available)
|
if (!_gesture_available)
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (GestureUngrabSuccess != XGestureUngrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime))
|
ret = (GestureUngrabSuccess == XGestureUngrabEvent(_ecore_x_disp, win, type, num_fingers, CurrentTime));
|
||||||
{
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return EINA_FALSE;
|
return ret;
|
||||||
}
|
|
||||||
|
|
||||||
return EINA_TRUE;
|
|
||||||
#else /* ifdef ECORE_XGESTURE */
|
#else /* ifdef ECORE_XGESTURE */
|
||||||
(void) win;
|
(void) win;
|
||||||
(void) type;
|
(void) type;
|
||||||
|
|
|
@ -41,6 +41,7 @@ ecore_x_icccm_state_set(Ecore_X_Window win,
|
||||||
XChangeProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_STATE,
|
XChangeProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_STATE,
|
||||||
ECORE_X_ATOM_WM_STATE, 32, PropModeReplace,
|
ECORE_X_ATOM_WM_STATE, 32, PropModeReplace,
|
||||||
(unsigned char *)c, 2);
|
(unsigned char *)c, 2);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Ecore_X_Window_State_Hint
|
EAPI Ecore_X_Window_State_Hint
|
||||||
|
@ -58,6 +59,7 @@ ecore_x_icccm_state_get(Ecore_X_Window win)
|
||||||
0, 0x7fffffff, False, ECORE_X_ATOM_WM_STATE,
|
0, 0x7fffffff, False, ECORE_X_ATOM_WM_STATE,
|
||||||
&type_ret, &format_ret, &num_ret, &bytes_after,
|
&type_ret, &format_ret, &num_ret, &bytes_after,
|
||||||
&prop_ret);
|
&prop_ret);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if ((prop_ret) && (num_ret == 2))
|
if ((prop_ret) && (num_ret == 2))
|
||||||
{
|
{
|
||||||
if (prop_ret[0] == WithdrawnState)
|
if (prop_ret[0] == WithdrawnState)
|
||||||
|
@ -129,6 +131,7 @@ ecore_x_icccm_move_resize_send(Ecore_X_Window win,
|
||||||
ev.xconfigure.above = None;
|
ev.xconfigure.above = None;
|
||||||
ev.xconfigure.override_redirect = False;
|
ev.xconfigure.override_redirect = False;
|
||||||
XSendEvent(_ecore_x_disp, win, False, StructureNotifyMask, &ev);
|
XSendEvent(_ecore_x_disp, win, False, StructureNotifyMask, &ev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -185,6 +188,7 @@ ecore_x_icccm_hints_set(Ecore_X_Window win,
|
||||||
hints->flags |= XUrgencyHint;
|
hints->flags |= XUrgencyHint;
|
||||||
|
|
||||||
XSetWMHints(_ecore_x_disp, win, hints);
|
XSetWMHints(_ecore_x_disp, win, hints);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XFree(hints);
|
XFree(hints);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,6 +227,7 @@ ecore_x_icccm_hints_get(Ecore_X_Window win,
|
||||||
*is_urgent = EINA_FALSE;
|
*is_urgent = EINA_FALSE;
|
||||||
|
|
||||||
hints = XGetWMHints(_ecore_x_disp, win);
|
hints = XGetWMHints(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (hints)
|
if (hints)
|
||||||
{
|
{
|
||||||
if ((hints->flags & InputHint) && (accepts_focus))
|
if ((hints->flags & InputHint) && (accepts_focus))
|
||||||
|
@ -286,6 +291,7 @@ ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask))
|
if (!XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask))
|
||||||
memset(&hint, 0, sizeof(XSizeHints));
|
memset(&hint, 0, sizeof(XSizeHints));
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
hint.flags = 0;
|
hint.flags = 0;
|
||||||
if (request_pos)
|
if (request_pos)
|
||||||
|
@ -335,6 +341,7 @@ ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
|
||||||
}
|
}
|
||||||
|
|
||||||
XSetWMNormalHints(_ecore_x_disp, win, &hint);
|
XSetWMNormalHints(_ecore_x_disp, win, &hint);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
@ -363,7 +370,10 @@ ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask))
|
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)))
|
if ((hint.flags & USPosition) || ((hint.flags & PPosition)))
|
||||||
{
|
{
|
||||||
|
@ -486,15 +496,18 @@ ecore_x_icccm_title_set(Ecore_X_Window win,
|
||||||
XmbTextListToTextProperty(_ecore_x_disp, list, 1, XStdICCTextStyle,
|
XmbTextListToTextProperty(_ecore_x_disp, list, 1, XStdICCTextStyle,
|
||||||
&xprop);
|
&xprop);
|
||||||
#endif /* ifdef X_HAVE_UTF8_STRING */
|
#endif /* ifdef X_HAVE_UTF8_STRING */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (ret >= Success)
|
if (ret >= Success)
|
||||||
{
|
{
|
||||||
XSetWMName(_ecore_x_disp, win, &xprop);
|
XSetWMName(_ecore_x_disp, win, &xprop);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xprop.value)
|
if (xprop.value)
|
||||||
XFree(xprop.value);
|
XFree(xprop.value);
|
||||||
}
|
}
|
||||||
else if (XStringListToTextProperty(list, 1, &xprop) >= Success)
|
else if (XStringListToTextProperty(list, 1, &xprop) >= Success)
|
||||||
{
|
{
|
||||||
XSetWMName(_ecore_x_disp, win, &xprop);
|
XSetWMName(_ecore_x_disp, win, &xprop);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xprop.value)
|
if (xprop.value)
|
||||||
XFree(xprop.value);
|
XFree(xprop.value);
|
||||||
}
|
}
|
||||||
|
@ -511,6 +524,7 @@ ecore_x_icccm_title_get(Ecore_X_Window win)
|
||||||
xprop.value = NULL;
|
xprop.value = NULL;
|
||||||
if (XGetWMName(_ecore_x_disp, win, &xprop) >= Success)
|
if (XGetWMName(_ecore_x_disp, win, &xprop) >= Success)
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xprop.value)
|
if (xprop.value)
|
||||||
{
|
{
|
||||||
char **list = NULL;
|
char **list = NULL;
|
||||||
|
@ -530,6 +544,7 @@ ecore_x_icccm_title_get(Ecore_X_Window win)
|
||||||
ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop,
|
ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop,
|
||||||
&list, &num);
|
&list, &num);
|
||||||
#endif /* ifdef X_HAVE_UTF8_STRING */
|
#endif /* ifdef X_HAVE_UTF8_STRING */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
if ((ret == XLocaleNotSupported) ||
|
if ((ret == XLocaleNotSupported) ||
|
||||||
(ret == XNoMemory) || (ret == XConverterNotFound))
|
(ret == XNoMemory) || (ret == XConverterNotFound))
|
||||||
|
@ -547,6 +562,10 @@ ecore_x_icccm_title_get(Ecore_X_Window win)
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -567,6 +586,7 @@ ecore_x_icccm_protocol_atoms_set(Ecore_X_Window win,
|
||||||
XSetWMProtocols(_ecore_x_disp, win, (Atom *)(protos), num);
|
XSetWMProtocols(_ecore_x_disp, win, (Atom *)(protos), num);
|
||||||
else
|
else
|
||||||
XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_PROTOCOLS);
|
XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_PROTOCOLS);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -598,7 +618,7 @@ ecore_x_icccm_protocol_set(Ecore_X_Window win,
|
||||||
protos = NULL;
|
protos = NULL;
|
||||||
protos_count = 0;
|
protos_count = 0;
|
||||||
}
|
}
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
for (i = 0; i < protos_count; i++)
|
for (i = 0; i < protos_count; i++)
|
||||||
{
|
{
|
||||||
if (protos[i] == proto)
|
if (protos[i] == proto)
|
||||||
|
@ -623,6 +643,7 @@ ecore_x_icccm_protocol_set(Ecore_X_Window win,
|
||||||
new_protos[i] = protos[i];
|
new_protos[i] = protos[i];
|
||||||
new_protos[protos_count] = proto;
|
new_protos[protos_count] = proto;
|
||||||
XSetWMProtocols(_ecore_x_disp, win, new_protos, protos_count + 1);
|
XSetWMProtocols(_ecore_x_disp, win, new_protos, protos_count + 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
free(new_protos);
|
free(new_protos);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -644,6 +665,7 @@ ecore_x_icccm_protocol_set(Ecore_X_Window win,
|
||||||
else
|
else
|
||||||
XDeleteProperty(_ecore_x_disp, win,
|
XDeleteProperty(_ecore_x_disp, win,
|
||||||
ECORE_X_ATOM_WM_PROTOCOLS);
|
ECORE_X_ATOM_WM_PROTOCOLS);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
@ -678,6 +700,7 @@ ecore_x_icccm_protocol_isset(Ecore_X_Window win,
|
||||||
|
|
||||||
if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count))
|
if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count))
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
for (i = 0; i < protos_count; i++)
|
for (i = 0; i < protos_count; i++)
|
||||||
if (protos[i] == proto)
|
if (protos[i] == proto)
|
||||||
|
@ -715,6 +738,7 @@ ecore_x_icccm_name_class_set(Ecore_X_Window win,
|
||||||
xch->res_name = (char *)n;
|
xch->res_name = (char *)n;
|
||||||
xch->res_class = (char *)c;
|
xch->res_class = (char *)c;
|
||||||
XSetClassHint(_ecore_x_disp, win, xch);
|
XSetClassHint(_ecore_x_disp, win, xch);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XFree(xch);
|
XFree(xch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -755,6 +779,7 @@ ecore_x_icccm_name_class_get(Ecore_X_Window win,
|
||||||
XFree(xch.res_name);
|
XFree(xch.res_name);
|
||||||
XFree(xch.res_class);
|
XFree(xch.res_class);
|
||||||
}
|
}
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -788,6 +813,7 @@ ecore_x_icccm_command_set(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XSetCommand(_ecore_x_disp, win, argv, argc);
|
XSetCommand(_ecore_x_disp, win, argv, argc);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -806,6 +832,7 @@ ecore_x_icccm_command_get(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
int i, c;
|
int i, c;
|
||||||
char **v;
|
char **v;
|
||||||
|
Eina_Bool success;
|
||||||
|
|
||||||
if (argc)
|
if (argc)
|
||||||
*argc = 0;
|
*argc = 0;
|
||||||
|
@ -814,8 +841,9 @@ ecore_x_icccm_command_get(Ecore_X_Window win,
|
||||||
*argv = NULL;
|
*argv = NULL;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!XGetCommand(_ecore_x_disp, win, &v, &c))
|
success = XGetCommand(_ecore_x_disp, win, &v, &c);
|
||||||
return;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!success) return;
|
||||||
|
|
||||||
if (c < 1)
|
if (c < 1)
|
||||||
{
|
{
|
||||||
|
@ -878,15 +906,18 @@ ecore_x_icccm_icon_name_set(Ecore_X_Window win,
|
||||||
ret = XmbTextListToTextProperty(_ecore_x_disp, list, 1,
|
ret = XmbTextListToTextProperty(_ecore_x_disp, list, 1,
|
||||||
XStdICCTextStyle, &xprop);
|
XStdICCTextStyle, &xprop);
|
||||||
#endif /* ifdef X_HAVE_UTF8_STRING */
|
#endif /* ifdef X_HAVE_UTF8_STRING */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (ret >= Success)
|
if (ret >= Success)
|
||||||
{
|
{
|
||||||
XSetWMIconName(_ecore_x_disp, win, &xprop);
|
XSetWMIconName(_ecore_x_disp, win, &xprop);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xprop.value)
|
if (xprop.value)
|
||||||
XFree(xprop.value);
|
XFree(xprop.value);
|
||||||
}
|
}
|
||||||
else if (XStringListToTextProperty(list, 1, &xprop) >= Success)
|
else if (XStringListToTextProperty(list, 1, &xprop) >= Success)
|
||||||
{
|
{
|
||||||
XSetWMIconName(_ecore_x_disp, win, &xprop);
|
XSetWMIconName(_ecore_x_disp, win, &xprop);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xprop.value)
|
if (xprop.value)
|
||||||
XFree(xprop.value);
|
XFree(xprop.value);
|
||||||
}
|
}
|
||||||
|
@ -910,6 +941,7 @@ ecore_x_icccm_icon_name_get(Ecore_X_Window win)
|
||||||
xprop.value = NULL;
|
xprop.value = NULL;
|
||||||
if (XGetWMIconName(_ecore_x_disp, win, &xprop) >= Success)
|
if (XGetWMIconName(_ecore_x_disp, win, &xprop) >= Success)
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xprop.value)
|
if (xprop.value)
|
||||||
{
|
{
|
||||||
char **list = NULL;
|
char **list = NULL;
|
||||||
|
@ -929,6 +961,7 @@ ecore_x_icccm_icon_name_get(Ecore_X_Window win)
|
||||||
ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop,
|
ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop,
|
||||||
&list, &num);
|
&list, &num);
|
||||||
#endif /* ifdef X_HAVE_UTF8_STRING */
|
#endif /* ifdef X_HAVE_UTF8_STRING */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
if ((ret == XLocaleNotSupported) ||
|
if ((ret == XLocaleNotSupported) ||
|
||||||
(ret == XNoMemory) || (ret == XConverterNotFound))
|
(ret == XNoMemory) || (ret == XConverterNotFound))
|
||||||
|
@ -949,6 +982,10 @@ ecore_x_icccm_icon_name_get(Ecore_X_Window win)
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -1056,6 +1093,7 @@ ecore_x_icccm_colormap_window_unset(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
XDeleteProperty(_ecore_x_disp,
|
XDeleteProperty(_ecore_x_disp,
|
||||||
win, ECORE_X_ATOM_WM_COLORMAP_WINDOWS);
|
win, ECORE_X_ATOM_WM_COLORMAP_WINDOWS);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (old_data)
|
if (old_data)
|
||||||
XFree(old_data);
|
XFree(old_data);
|
||||||
|
|
||||||
|
@ -1102,6 +1140,7 @@ ecore_x_icccm_transient_for_set(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XSetTransientForHint(_ecore_x_disp, win, forwin);
|
XSetTransientForHint(_ecore_x_disp, win, forwin);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1113,6 +1152,7 @@ ecore_x_icccm_transient_for_unset(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_TRANSIENT_FOR);
|
XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_TRANSIENT_FOR);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1124,9 +1164,12 @@ EAPI Ecore_X_Window
|
||||||
ecore_x_icccm_transient_for_get(Ecore_X_Window win)
|
ecore_x_icccm_transient_for_get(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
Window forwin;
|
Window forwin;
|
||||||
|
Eina_Bool success;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
return (Ecore_X_Window)forwin;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1216,6 +1259,7 @@ ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: there are older E hints, gnome hints and mwm hints and new netwm */
|
/* FIXME: there are older E hints, gnome hints and mwm hints and new netwm */
|
||||||
|
|
|
@ -106,6 +106,7 @@ _ecore_x_image_shm_check(void)
|
||||||
DefaultScreen(_ecore_x_disp)),
|
DefaultScreen(_ecore_x_disp)),
|
||||||
ZPixmap, NULL,
|
ZPixmap, NULL,
|
||||||
&shminfo, 1, 1);
|
&shminfo, 1, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (!xim)
|
if (!xim)
|
||||||
{
|
{
|
||||||
_ecore_x_image_shm_can = 0;
|
_ecore_x_image_shm_can = 0;
|
||||||
|
@ -370,11 +371,15 @@ ecore_x_image_put(Ecore_X_Image *im,
|
||||||
memset(&gcv, 0, sizeof(gcv));
|
memset(&gcv, 0, sizeof(gcv));
|
||||||
gcv.subwindow_mode = IncludeInferiors;
|
gcv.subwindow_mode = IncludeInferiors;
|
||||||
tgc = XCreateGC(_ecore_x_disp, draw, GCSubwindowMode, &gcv);
|
tgc = XCreateGC(_ecore_x_disp, draw, GCSubwindowMode, &gcv);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
gc = tgc;
|
gc = tgc;
|
||||||
}
|
}
|
||||||
if (!im->xim) _ecore_x_image_shm_create(im);
|
if (!im->xim) _ecore_x_image_shm_create(im);
|
||||||
if (im->xim)
|
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);
|
if (tgc) ecore_x_gc_free(tgc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -214,6 +214,7 @@ ecore_x_netwm_desk_names_set(Ecore_X_Window root,
|
||||||
}
|
}
|
||||||
|
|
||||||
_ATOM_SET_UTF8_STRING_LIST(root, ECORE_X_ATOM_NET_DESKTOP_NAMES, buf, len);
|
_ATOM_SET_UTF8_STRING_LIST(root, ECORE_X_ATOM_NET_DESKTOP_NAMES, buf, len);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
free(buf);
|
free(buf);
|
||||||
}
|
}
|
||||||
|
@ -370,6 +371,7 @@ ecore_x_netwm_client_active_request(Ecore_X_Window root,
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask, &xev);
|
SubstructureRedirectMask | SubstructureNotifyMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1517,6 +1519,7 @@ ecore_x_netwm_ping_send(Ecore_X_Window win)
|
||||||
xev.xclient.data.l[4] = 0;
|
xev.xclient.data.l[4] = 0;
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1544,6 +1547,7 @@ ecore_x_netwm_sync_request_send(Ecore_X_Window win,
|
||||||
xev.xclient.data.l[4] = 0;
|
xev.xclient.data.l[4] = 0;
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1579,6 +1583,7 @@ ecore_x_netwm_state_request_send(Ecore_X_Window win,
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1606,6 +1611,7 @@ ecore_x_netwm_desktop_request_send(Ecore_X_Window win,
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, root, False,
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1633,6 +1639,7 @@ ecore_x_netwm_moveresize_request_send(Ecore_X_Window win,
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, win, False,
|
XSendEvent(_ecore_x_disp, win, False,
|
||||||
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -1733,6 +1740,7 @@ _ecore_x_window_prop_string_utf8_set(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8,
|
XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8,
|
||||||
PropModeReplace, (unsigned char *)str, strlen(str));
|
PropModeReplace, (unsigned char *)str, strlen(str));
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1753,6 +1761,7 @@ _ecore_x_window_prop_string_utf8_get(Ecore_X_Window win,
|
||||||
XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
|
XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False,
|
||||||
ECORE_X_ATOM_UTF8_STRING, &type_ret,
|
ECORE_X_ATOM_UTF8_STRING, &type_ret,
|
||||||
&format_ret, &num_ret, &bytes_after, &prop_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)
|
if (prop_ret && num_ret > 0 && format_ret == 8)
|
||||||
{
|
{
|
||||||
str = malloc(num_ret + 1);
|
str = malloc(num_ret + 1);
|
||||||
|
@ -2058,6 +2067,7 @@ ecore_x_screen_is_composited(int screen)
|
||||||
atom = XInternAtom(_ecore_x_disp, buf, True);
|
atom = XInternAtom(_ecore_x_disp, buf, True);
|
||||||
if (atom == None) return EINA_FALSE;
|
if (atom == None) return EINA_FALSE;
|
||||||
win = XGetSelectionOwner(_ecore_x_disp, atom);
|
win = XGetSelectionOwner(_ecore_x_disp, atom);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return (win != None) ? EINA_TRUE : EINA_FALSE;
|
return (win != None) ? EINA_TRUE : EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2073,5 +2083,6 @@ ecore_x_screen_is_composited_set(int screen,
|
||||||
atom = XInternAtom(_ecore_x_disp, buf, False);
|
atom = XInternAtom(_ecore_x_disp, buf, False);
|
||||||
if (atom == None) return;
|
if (atom == None) return;
|
||||||
XSetSelectionOwner(_ecore_x_disp, atom, win, _ecore_x_event_last_time);
|
XSetSelectionOwner(_ecore_x_disp, atom, win, _ecore_x_event_last_time);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ ecore_x_pixmap_new(Ecore_X_Window win,
|
||||||
int h,
|
int h,
|
||||||
int dep)
|
int dep)
|
||||||
{
|
{
|
||||||
|
Ecore_X_Pixmap pm;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (win == 0)
|
if (win == 0)
|
||||||
win = DefaultRootWindow(_ecore_x_disp);
|
win = DefaultRootWindow(_ecore_x_disp);
|
||||||
|
@ -38,7 +39,9 @@ ecore_x_pixmap_new(Ecore_X_Window win,
|
||||||
if (dep == 0)
|
if (dep == 0)
|
||||||
dep = DefaultDepth(_ecore_x_disp, DefaultScreen(_ecore_x_disp));
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -56,6 +59,7 @@ ecore_x_pixmap_free(Ecore_X_Pixmap pmap)
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!pmap) return;
|
if (!pmap) return;
|
||||||
XFreePixmap(_ecore_x_disp, pmap);
|
XFreePixmap(_ecore_x_disp, pmap);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,6 +89,7 @@ ecore_x_pixmap_paste(Ecore_X_Pixmap pmap,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XCopyArea(_ecore_x_disp, pmap, dest, gc, sx, sy, w, h, dx, dy);
|
XCopyArea(_ecore_x_disp, pmap, dest, gc, sx, sy, w, h, dx, dy);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,8 +109,9 @@ ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
|
||||||
int *h)
|
int *h)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (pmap)
|
if (!pmap) return;
|
||||||
ecore_x_drawable_geometry_get(pmap, x, y, w, h);
|
ecore_x_drawable_geometry_get(pmap, x, y, w, h);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,7 +123,10 @@ ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
|
||||||
EAPI int
|
EAPI int
|
||||||
ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap)
|
ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
#include "Ecore_Input.h"
|
#include "Ecore_Input.h"
|
||||||
|
|
||||||
extern int _ecore_xlib_log_dom;
|
extern int _ecore_xlib_log_dom;
|
||||||
|
extern Eina_Bool _ecore_xlib_sync;
|
||||||
#ifdef ECORE_XLIB_DEFAULT_LOG_COLOR
|
#ifdef ECORE_XLIB_DEFAULT_LOG_COLOR
|
||||||
# undef ECORE_XLIB_DEFAULT_LOG_COLOR
|
# undef ECORE_XLIB_DEFAULT_LOG_COLOR
|
||||||
#endif /* ifdef ECORE_XLIB_DEFAULT_LOG_COLOR */
|
#endif /* ifdef ECORE_XLIB_DEFAULT_LOG_COLOR */
|
||||||
|
@ -367,7 +368,7 @@ Ecore_Event_Mouse_Button *_ecore_mouse_button(int event,
|
||||||
void _ecore_x_modifiers_get(void);
|
void _ecore_x_modifiers_get(void);
|
||||||
KeySym _ecore_x_XKeycodeToKeysym(Display *display, KeyCode keycode, int index);
|
KeySym _ecore_x_XKeycodeToKeysym(Display *display, KeyCode keycode, int index);
|
||||||
|
|
||||||
//#define LOGFNS 1
|
#define LOGFNS 0
|
||||||
|
|
||||||
#ifdef LOGFNS
|
#ifdef LOGFNS
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
|
@ -48,8 +48,11 @@ EAPI Eina_Bool
|
||||||
ecore_x_xregion_set(Ecore_X_XRegion *region,
|
ecore_x_xregion_set(Ecore_X_XRegion *region,
|
||||||
Ecore_X_GC gc)
|
Ecore_X_GC gc)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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
|
EAPI void
|
||||||
|
|
|
@ -400,6 +400,7 @@ ecore_x_selection_xdnd_request(Ecore_X_Window w,
|
||||||
XConvertSelection(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND, atom,
|
XConvertSelection(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND, atom,
|
||||||
ECORE_X_ATOM_SELECTION_PROP_XDND, w,
|
ECORE_X_ATOM_SELECTION_PROP_XDND, w,
|
||||||
_target->time);
|
_target->time);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
|
@ -83,7 +83,7 @@ ecore_x_window_new(Ecore_X_Window parent,
|
||||||
CWBitGravity |
|
CWBitGravity |
|
||||||
CWWinGravity,
|
CWWinGravity,
|
||||||
&attr);
|
&attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (parent == DefaultRootWindow(_ecore_x_disp))
|
if (parent == DefaultRootWindow(_ecore_x_disp))
|
||||||
ecore_x_window_defaults_set(win);
|
ecore_x_window_defaults_set(win);
|
||||||
|
|
||||||
|
@ -152,6 +152,7 @@ ecore_x_window_override_new(Ecore_X_Window parent,
|
||||||
CWBitGravity |
|
CWBitGravity |
|
||||||
CWWinGravity,
|
CWWinGravity,
|
||||||
&attr);
|
&attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
return win;
|
return win;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,7 +205,7 @@ ecore_x_window_input_new(Ecore_X_Window parent,
|
||||||
CWDontPropagate |
|
CWDontPropagate |
|
||||||
CWEventMask,
|
CWEventMask,
|
||||||
&attr);
|
&attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (parent == DefaultRootWindow(_ecore_x_disp))
|
if (parent == DefaultRootWindow(_ecore_x_disp))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -253,8 +254,9 @@ ecore_x_window_defaults_set(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XSetWMClientMachine(_ecore_x_disp, win, &xprop);
|
XSetWMClientMachine(_ecore_x_disp, win, &xprop);
|
||||||
XFree(xprop.value);
|
XFree(xprop.value);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
/*
|
/*
|
||||||
* Set _NET_WM_PID
|
* Set _NET_WM_PID
|
||||||
*/
|
*/
|
||||||
|
@ -294,6 +296,7 @@ ecore_x_window_configure(Ecore_X_Window win,
|
||||||
xwc.stack_mode = stack_mode;
|
xwc.stack_mode = stack_mode;
|
||||||
|
|
||||||
XConfigureWindow(_ecore_x_disp, win, mask, &xwc);
|
XConfigureWindow(_ecore_x_disp, win, mask, &xwc);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -315,8 +318,9 @@ ecore_x_window_free(Ecore_X_Window win)
|
||||||
* a smart idea.
|
* a smart idea.
|
||||||
*/
|
*/
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (win)
|
if (!win) return;
|
||||||
XDestroyWindow(_ecore_x_disp, win);
|
XDestroyWindow(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -418,6 +422,7 @@ ecore_x_window_delete_request_send(Ecore_X_Window win)
|
||||||
xev.xclient.data.l[1] = CurrentTime;
|
xev.xclient.data.l[1] = CurrentTime;
|
||||||
|
|
||||||
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -440,6 +445,7 @@ ecore_x_window_show(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XMapWindow(_ecore_x_disp, win);
|
XMapWindow(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -484,6 +490,7 @@ ecore_x_window_hide(Ecore_X_Window win)
|
||||||
xev.xunmap.from_configure = False;
|
xev.xunmap.from_configure = False;
|
||||||
XSendEvent(_ecore_x_disp, xev.xunmap.event, False,
|
XSendEvent(_ecore_x_disp, xev.xunmap.event, False,
|
||||||
SubstructureRedirectMask | SubstructureNotifyMask, &xev);
|
SubstructureRedirectMask | SubstructureNotifyMask, &xev);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -511,6 +518,7 @@ ecore_x_window_move(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XMoveWindow(_ecore_x_disp, win, x, y);
|
XMoveWindow(_ecore_x_disp, win, x, y);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -533,6 +541,7 @@ ecore_x_window_resize(Ecore_X_Window win,
|
||||||
h = 1;
|
h = 1;
|
||||||
|
|
||||||
XResizeWindow(_ecore_x_disp, win, w, h);
|
XResizeWindow(_ecore_x_disp, win, w, h);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -559,6 +568,7 @@ ecore_x_window_move_resize(Ecore_X_Window win,
|
||||||
h = 1;
|
h = 1;
|
||||||
|
|
||||||
XMoveResizeWindow(_ecore_x_disp, win, x, y, w, h);
|
XMoveResizeWindow(_ecore_x_disp, win, x, y, w, h);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -582,6 +592,7 @@ ecore_x_window_focus(Ecore_X_Window win)
|
||||||
|
|
||||||
// XSetInputFocus(_ecore_x_disp, win, RevertToPointerRoot, CurrentTime);
|
// XSetInputFocus(_ecore_x_disp, win, RevertToPointerRoot, CurrentTime);
|
||||||
XSetInputFocus(_ecore_x_disp, win, RevertToParent, CurrentTime);
|
XSetInputFocus(_ecore_x_disp, win, RevertToParent, CurrentTime);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -600,6 +611,7 @@ ecore_x_window_focus_at_time(Ecore_X_Window win,
|
||||||
|
|
||||||
// XSetInputFocus(_ecore_x_disp, win, PointerRoot, t);
|
// XSetInputFocus(_ecore_x_disp, win, PointerRoot, t);
|
||||||
XSetInputFocus(_ecore_x_disp, win, RevertToParent, t);
|
XSetInputFocus(_ecore_x_disp, win, RevertToParent, t);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -636,6 +648,7 @@ ecore_x_window_raise(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XRaiseWindow(_ecore_x_disp, win);
|
XRaiseWindow(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -648,6 +661,7 @@ ecore_x_window_lower(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XLowerWindow(_ecore_x_disp, win);
|
XLowerWindow(_ecore_x_disp, win);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -676,6 +690,7 @@ ecore_x_window_reparent(Ecore_X_Window win,
|
||||||
new_parent = DefaultRootWindow(_ecore_x_disp);
|
new_parent = DefaultRootWindow(_ecore_x_disp);
|
||||||
|
|
||||||
XReparentWindow(_ecore_x_disp, win, new_parent, x, y);
|
XReparentWindow(_ecore_x_disp, win, new_parent, x, y);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -697,6 +712,7 @@ ecore_x_window_size_get(Ecore_X_Window win,
|
||||||
win = DefaultRootWindow(_ecore_x_disp);
|
win = DefaultRootWindow(_ecore_x_disp);
|
||||||
|
|
||||||
ecore_x_drawable_geometry_get(win, &dummy_x, &dummy_y, w, h);
|
ecore_x_drawable_geometry_get(win, &dummy_x, &dummy_y, w, h);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -727,6 +743,7 @@ ecore_x_window_geometry_get(Ecore_X_Window win,
|
||||||
win = DefaultRootWindow(_ecore_x_disp);
|
win = DefaultRootWindow(_ecore_x_disp);
|
||||||
|
|
||||||
ecore_x_drawable_geometry_get(win, x, y, w, h);
|
ecore_x_drawable_geometry_get(win, x, y, w, h);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -738,12 +755,15 @@ ecore_x_window_geometry_get(Ecore_X_Window win,
|
||||||
EAPI int
|
EAPI int
|
||||||
ecore_x_window_border_width_get(Ecore_X_Window win)
|
ecore_x_window_border_width_get(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
|
int w;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
/* doesn't make sense to call this on a root window */
|
/* doesn't make sense to call this on a root window */
|
||||||
if (!win)
|
if (!win)
|
||||||
return 0;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -762,6 +782,7 @@ ecore_x_window_border_width_set(Ecore_X_Window win,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
XSetWindowBorderWidth (_ecore_x_disp, win, width);
|
XSetWindowBorderWidth (_ecore_x_disp, win, width);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -772,8 +793,11 @@ ecore_x_window_border_width_set(Ecore_X_Window win,
|
||||||
EAPI int
|
EAPI int
|
||||||
ecore_x_window_depth_get(Ecore_X_Window win)
|
ecore_x_window_depth_get(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
|
int d;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -798,19 +822,26 @@ ecore_x_window_cursor_show(Ecore_X_Window win,
|
||||||
XGCValues gcv;
|
XGCValues gcv;
|
||||||
|
|
||||||
p = XCreatePixmap(_ecore_x_disp, win, 1, 1, 1);
|
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);
|
m = XCreatePixmap(_ecore_x_disp, win, 1, 1, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
gc = XCreateGC(_ecore_x_disp, m, 0, &gcv);
|
gc = XCreateGC(_ecore_x_disp, m, 0, &gcv);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XSetForeground(_ecore_x_disp, gc, 0);
|
XSetForeground(_ecore_x_disp, gc, 0);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XDrawPoint(_ecore_x_disp, m, gc, 0, 0);
|
XDrawPoint(_ecore_x_disp, m, gc, 0, 0);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XFreeGC(_ecore_x_disp, gc);
|
XFreeGC(_ecore_x_disp, gc);
|
||||||
c = XCreatePixmapCursor(_ecore_x_disp, p, m, &cl, &cl, 0, 0);
|
c = XCreatePixmapCursor(_ecore_x_disp, p, m, &cl, &cl, 0, 0);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XDefineCursor(_ecore_x_disp, win, c);
|
XDefineCursor(_ecore_x_disp, win, c);
|
||||||
XFreeCursor(_ecore_x_disp, c);
|
XFreeCursor(_ecore_x_disp, c);
|
||||||
XFreePixmap(_ecore_x_disp, p);
|
XFreePixmap(_ecore_x_disp, p);
|
||||||
XFreePixmap(_ecore_x_disp, m);
|
XFreePixmap(_ecore_x_disp, m);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
XDefineCursor(_ecore_x_disp, win, 0);
|
XDefineCursor(_ecore_x_disp, win, 0);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -822,6 +853,7 @@ ecore_x_window_cursor_set(Ecore_X_Window win,
|
||||||
XUndefineCursor(_ecore_x_disp, win);
|
XUndefineCursor(_ecore_x_disp, win);
|
||||||
else
|
else
|
||||||
XDefineCursor(_ecore_x_disp, win, c);
|
XDefineCursor(_ecore_x_disp, win, c);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -833,11 +865,14 @@ ecore_x_window_cursor_set(Ecore_X_Window win,
|
||||||
EAPI int
|
EAPI int
|
||||||
ecore_x_window_visible_get(Ecore_X_Window win)
|
ecore_x_window_visible_get(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
|
Eina_Bool ret;
|
||||||
XWindowAttributes attr;
|
XWindowAttributes attr;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
return XGetWindowAttributes(_ecore_x_disp, win, &attr) &&
|
ret = (XGetWindowAttributes(_ecore_x_disp, win, &attr) &&
|
||||||
(attr.map_state == IsViewable);
|
(attr.map_state == IsViewable));
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct _Shadow Shadow;
|
typedef struct _Shadow Shadow;
|
||||||
|
@ -862,12 +897,11 @@ _ecore_x_window_tree_walk(Window win)
|
||||||
unsigned int num;
|
unsigned int num;
|
||||||
Shadow *s, **sl;
|
Shadow *s, **sl;
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
if (!XGetWindowAttributes(_ecore_x_disp, win, &att))
|
ret = (XGetWindowAttributes(_ecore_x_disp, win, &att) && (att.map_state == IsViewable));
|
||||||
return NULL; // if (att.class == InputOnly) return NULL;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!ret) return NULL; // if (att.class == InputOnly) return NULL;
|
||||||
if (att.map_state != IsViewable)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
s = calloc(1, sizeof(Shadow));
|
s = calloc(1, sizeof(Shadow));
|
||||||
if (!s)
|
if (!s)
|
||||||
|
@ -881,6 +915,7 @@ _ecore_x_window_tree_walk(Window win)
|
||||||
if (XQueryTree(_ecore_x_disp, s->win, &root_win, &parent_win,
|
if (XQueryTree(_ecore_x_disp, s->win, &root_win, &parent_win,
|
||||||
&list, &num))
|
&list, &num))
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
s->children = calloc(1, sizeof(Shadow *) * num);
|
s->children = calloc(1, sizeof(Shadow *) * num);
|
||||||
if (s->children)
|
if (s->children)
|
||||||
{
|
{
|
||||||
|
@ -1417,10 +1452,12 @@ ecore_x_window_parent_get(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
Window root, parent, *children = NULL;
|
Window root, parent, *children = NULL;
|
||||||
unsigned int num;
|
unsigned int num;
|
||||||
|
Eina_Bool success;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!XQueryTree(_ecore_x_disp, win, &root, &parent, &children, &num))
|
success = XQueryTree(_ecore_x_disp, win, &root, &parent, &children, &num);
|
||||||
return 0;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!success) return 0;
|
||||||
|
|
||||||
if (children)
|
if (children)
|
||||||
XFree(children);
|
XFree(children);
|
||||||
|
@ -1455,6 +1492,7 @@ ecore_x_window_background_color_set(Ecore_X_Window win,
|
||||||
|
|
||||||
attr.background_pixel = col.pixel;
|
attr.background_pixel = col.pixel;
|
||||||
XChangeWindowAttributes(_ecore_x_disp, win, CWBackPixel, &attr);
|
XChangeWindowAttributes(_ecore_x_disp, win, CWBackPixel, &attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1466,6 +1504,7 @@ ecore_x_window_gravity_set(Ecore_X_Window win,
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
att.win_gravity = grav;
|
att.win_gravity = grav;
|
||||||
XChangeWindowAttributes(_ecore_x_disp, win, CWWinGravity, &att);
|
XChangeWindowAttributes(_ecore_x_disp, win, CWWinGravity, &att);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1477,6 +1516,7 @@ ecore_x_window_pixel_gravity_set(Ecore_X_Window win,
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
att.bit_gravity = grav;
|
att.bit_gravity = grav;
|
||||||
XChangeWindowAttributes(_ecore_x_disp, win, CWBitGravity, &att);
|
XChangeWindowAttributes(_ecore_x_disp, win, CWBitGravity, &att);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1485,6 +1525,7 @@ ecore_x_window_pixmap_set(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XSetWindowBackgroundPixmap(_ecore_x_disp, win, pmap);
|
XSetWindowBackgroundPixmap(_ecore_x_disp, win, pmap);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1496,6 +1537,7 @@ ecore_x_window_area_clear(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XClearArea(_ecore_x_disp, win, x, y, w, h, False);
|
XClearArea(_ecore_x_disp, win, x, y, w, h, False);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1507,6 +1549,7 @@ ecore_x_window_area_expose(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XClearArea(_ecore_x_disp, win, x, y, w, h, True);
|
XClearArea(_ecore_x_disp, win, x, y, w, h, True);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1518,6 +1561,7 @@ ecore_x_window_override_set(Ecore_X_Window win,
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
att.override_redirect = override;
|
att.override_redirect = override;
|
||||||
XChangeWindowAttributes(_ecore_x_disp, win, CWOverrideRedirect, &att);
|
XChangeWindowAttributes(_ecore_x_disp, win, CWOverrideRedirect, &att);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ECORE_XRENDER
|
#ifdef ECORE_XRENDER
|
||||||
|
@ -1548,6 +1592,7 @@ _ecore_x_window_argb_internal_new(Ecore_X_Window parent,
|
||||||
{
|
{
|
||||||
/* ewww - round trip */
|
/* ewww - round trip */
|
||||||
XGetWindowAttributes(_ecore_x_disp, parent, &att);
|
XGetWindowAttributes(_ecore_x_disp, parent, &att);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
for (i = 0; i < ScreenCount(_ecore_x_disp); i++)
|
for (i = 0; i < ScreenCount(_ecore_x_disp); i++)
|
||||||
{
|
{
|
||||||
if (att.screen == ScreenOfDisplay(_ecore_x_disp, i))
|
if (att.screen == ScreenOfDisplay(_ecore_x_disp, i))
|
||||||
|
@ -1567,6 +1612,7 @@ _ecore_x_window_argb_internal_new(Ecore_X_Window parent,
|
||||||
VisualClassMask,
|
VisualClassMask,
|
||||||
&vi_in,
|
&vi_in,
|
||||||
&nvi);
|
&nvi);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (!xvi)
|
if (!xvi)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -1574,6 +1620,7 @@ _ecore_x_window_argb_internal_new(Ecore_X_Window parent,
|
||||||
for (i = 0; i < nvi; i++)
|
for (i = 0; i < nvi; i++)
|
||||||
{
|
{
|
||||||
fmt = XRenderFindVisualFormat(_ecore_x_disp, xvi[i].visual);
|
fmt = XRenderFindVisualFormat(_ecore_x_disp, xvi[i].visual);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if ((fmt->type == PictTypeDirect) && (fmt->direct.alphaMask))
|
if ((fmt->type == PictTypeDirect) && (fmt->direct.alphaMask))
|
||||||
{
|
{
|
||||||
vis = xvi[i].visual;
|
vis = xvi[i].visual;
|
||||||
|
@ -1621,6 +1668,7 @@ _ecore_x_window_argb_internal_new(Ecore_X_Window parent,
|
||||||
CWBitGravity |
|
CWBitGravity |
|
||||||
CWWinGravity,
|
CWWinGravity,
|
||||||
&attr);
|
&attr);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
XFreeColormap(_ecore_x_disp, attr.colormap);
|
XFreeColormap(_ecore_x_disp, attr.colormap);
|
||||||
|
|
||||||
if (parent == DefaultRootWindow(_ecore_x_disp))
|
if (parent == DefaultRootWindow(_ecore_x_disp))
|
||||||
|
@ -1637,12 +1685,15 @@ ecore_x_window_argb_get(Ecore_X_Window win)
|
||||||
#ifdef ECORE_XRENDER
|
#ifdef ECORE_XRENDER
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
XRenderPictFormat *fmt;
|
XRenderPictFormat *fmt;
|
||||||
|
Eina_Bool ret;
|
||||||
|
|
||||||
att.visual = 0;
|
att.visual = 0;
|
||||||
if (!XGetWindowAttributes(_ecore_x_disp, win, &att))
|
ret = XGetWindowAttributes(_ecore_x_disp, win, &att);
|
||||||
return 0;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!ret) return 0;
|
||||||
|
|
||||||
fmt = XRenderFindVisualFormat(_ecore_x_disp, att.visual);
|
fmt = XRenderFindVisualFormat(_ecore_x_disp, att.visual);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (!fmt)
|
if (!fmt)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ ecore_x_window_prop_card32_set(Ecore_X_Window win,
|
||||||
_ATOM_SET_CARD32(win, atom, v2, num);
|
_ATOM_SET_CARD32(win, atom, v2, num);
|
||||||
free(v2);
|
free(v2);
|
||||||
#endif /* if SIZEOF_INT == SIZEOF_LONG */
|
#endif /* if SIZEOF_INT == SIZEOF_LONG */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -85,9 +86,9 @@ ecore_x_window_prop_card32_get(Ecore_X_Window win,
|
||||||
num = len;
|
num = len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (prop_ret)
|
if (prop_ret)
|
||||||
XFree(prop_ret);
|
XFree(prop_ret);
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,9 +137,9 @@ ecore_x_window_prop_card32_list_get(Ecore_X_Window win,
|
||||||
*plst = val;
|
*plst = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (prop_ret)
|
if (prop_ret)
|
||||||
XFree(prop_ret);
|
XFree(prop_ret);
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,6 +171,7 @@ ecore_x_window_prop_xid_set(Ecore_X_Window win,
|
||||||
(unsigned char *)pl, num);
|
(unsigned char *)pl, num);
|
||||||
free(pl);
|
free(pl);
|
||||||
#endif /* if SIZEOF_INT == SIZEOF_LONG */
|
#endif /* if SIZEOF_INT == SIZEOF_LONG */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -193,13 +195,15 @@ ecore_x_window_prop_xid_get(Ecore_X_Window win,
|
||||||
int format_ret;
|
int format_ret;
|
||||||
int num;
|
int num;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
Eina_Bool success;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
prop_ret = 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,
|
type, &type_ret, &format_ret, &num_ret,
|
||||||
&bytes_after, &prop_ret) != Success)
|
&bytes_after, &prop_ret) == Success);
|
||||||
return -1;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!success) return -1;
|
||||||
|
|
||||||
if (type_ret != type || format_ret != 32)
|
if (type_ret != type || format_ret != 32)
|
||||||
num = -1;
|
num = -1;
|
||||||
|
@ -242,14 +246,16 @@ ecore_x_window_prop_xid_list_get(Ecore_X_Window win,
|
||||||
Ecore_X_Atom *alst;
|
Ecore_X_Atom *alst;
|
||||||
int num;
|
int num;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
Eina_Bool success;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
*val = NULL;
|
*val = NULL;
|
||||||
prop_ret = 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,
|
type, &type_ret, &format_ret, &num_ret,
|
||||||
&bytes_after, &prop_ret) != Success)
|
&bytes_after, &prop_ret) == Success);
|
||||||
return -1;
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
if (!success) return -1;
|
||||||
|
|
||||||
if (type_ret != type || format_ret != 32)
|
if (type_ret != type || format_ret != 32)
|
||||||
num = -1;
|
num = -1;
|
||||||
|
@ -266,7 +272,6 @@ ecore_x_window_prop_xid_list_get(Ecore_X_Window win,
|
||||||
|
|
||||||
if (prop_ret)
|
if (prop_ret)
|
||||||
XFree(prop_ret);
|
XFree(prop_ret);
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,8 +357,10 @@ ecore_x_window_prop_atom_get(Ecore_X_Window win,
|
||||||
Ecore_X_Atom *lst,
|
Ecore_X_Atom *lst,
|
||||||
unsigned int len)
|
unsigned int len)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -369,8 +376,10 @@ ecore_x_window_prop_atom_list_get(Ecore_X_Window win,
|
||||||
Ecore_X_Atom atom,
|
Ecore_X_Atom atom,
|
||||||
Ecore_X_Atom **plst)
|
Ecore_X_Atom **plst)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -413,8 +422,10 @@ ecore_x_window_prop_window_get(Ecore_X_Window win,
|
||||||
Ecore_X_Window *lst,
|
Ecore_X_Window *lst,
|
||||||
unsigned int len)
|
unsigned int len)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -430,8 +441,10 @@ ecore_x_window_prop_window_list_get(Ecore_X_Window win,
|
||||||
Ecore_X_Atom atom,
|
Ecore_X_Atom atom,
|
||||||
Ecore_X_Window **plst)
|
Ecore_X_Window **plst)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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
|
EAPI Ecore_X_Atom
|
||||||
|
@ -485,6 +498,7 @@ ecore_x_window_prop_property_set(Ecore_X_Window win,
|
||||||
free(dat);
|
free(dat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -528,10 +542,9 @@ ecore_x_window_prop_property_get(Ecore_X_Window win,
|
||||||
ret = XGetWindowProperty(_ecore_x_disp, win, property, 0, LONG_MAX,
|
ret = XGetWindowProperty(_ecore_x_disp, win, property, 0, LONG_MAX,
|
||||||
False, type, &type_ret, &size_ret,
|
False, type, &type_ret, &size_ret,
|
||||||
&num_ret, &bytes, &prop_ret);
|
&num_ret, &bytes, &prop_ret);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (ret != Success)
|
if (ret != Success)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!num_ret)
|
if (!num_ret)
|
||||||
{
|
{
|
||||||
XFree(prop_ret);
|
XFree(prop_ret);
|
||||||
|
@ -575,6 +588,7 @@ ecore_x_window_prop_property_del(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XDeleteProperty(_ecore_x_disp, win, property);
|
XDeleteProperty(_ecore_x_disp, win, property);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Ecore_X_Atom *
|
EAPI Ecore_X_Atom *
|
||||||
|
@ -590,6 +604,7 @@ ecore_x_window_prop_list(Ecore_X_Window win,
|
||||||
*num_ret = 0;
|
*num_ret = 0;
|
||||||
|
|
||||||
atom_ret = XListProperties(_ecore_x_disp, win, &num);
|
atom_ret = XListProperties(_ecore_x_disp, win, &num);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (!atom_ret)
|
if (!atom_ret)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -630,6 +645,7 @@ ecore_x_window_prop_string_set(Ecore_X_Window win,
|
||||||
xtp.encoding = ECORE_X_ATOM_UTF8_STRING;
|
xtp.encoding = ECORE_X_ATOM_UTF8_STRING;
|
||||||
xtp.nitems = strlen(str);
|
xtp.nitems = strlen(str);
|
||||||
XSetTextProperty(_ecore_x_disp, win, &xtp, type);
|
XSetTextProperty(_ecore_x_disp, win, &xtp, type);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -655,6 +671,7 @@ ecore_x_window_prop_string_get(Ecore_X_Window win,
|
||||||
char **list = NULL;
|
char **list = NULL;
|
||||||
Status s;
|
Status s;
|
||||||
|
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (xtp.encoding == ECORE_X_ATOM_UTF8_STRING)
|
if (xtp.encoding == ECORE_X_ATOM_UTF8_STRING)
|
||||||
str = strdup((char *)xtp.value);
|
str = strdup((char *)xtp.value);
|
||||||
else
|
else
|
||||||
|
@ -666,6 +683,7 @@ ecore_x_window_prop_string_get(Ecore_X_Window win,
|
||||||
s = XmbTextPropertyToTextList(_ecore_x_disp, &xtp,
|
s = XmbTextPropertyToTextList(_ecore_x_disp, &xtp,
|
||||||
&list, &items);
|
&list, &items);
|
||||||
#endif /* ifdef X_HAVE_UTF8_STRING */
|
#endif /* ifdef X_HAVE_UTF8_STRING */
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if ((s == XLocaleNotSupported) ||
|
if ((s == XLocaleNotSupported) ||
|
||||||
(s == XNoMemory) || (s == XConverterNotFound))
|
(s == XNoMemory) || (s == XConverterNotFound))
|
||||||
str = strdup((char *)xtp.value);
|
str = strdup((char *)xtp.value);
|
||||||
|
@ -678,7 +696,6 @@ ecore_x_window_prop_string_get(Ecore_X_Window win,
|
||||||
|
|
||||||
XFree(xtp.value);
|
XFree(xtp.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -697,7 +714,9 @@ ecore_x_window_prop_protocol_isset(Ecore_X_Window win,
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
proto = _ecore_x_atoms_wm_protocols[protocol];
|
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;
|
return ret;
|
||||||
|
|
||||||
for (i = 0; i < protos_count; i++)
|
for (i = 0; i < protos_count; i++)
|
||||||
|
@ -708,7 +727,6 @@ ecore_x_window_prop_protocol_isset(Ecore_X_Window win,
|
||||||
}
|
}
|
||||||
|
|
||||||
XFree(protos);
|
XFree(protos);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -727,9 +745,12 @@ ecore_x_window_prop_protocol_list_get(Ecore_X_Window win,
|
||||||
Atom *protos = NULL;
|
Atom *protos = NULL;
|
||||||
int i, protos_count = 0;
|
int i, protos_count = 0;
|
||||||
Ecore_X_WM_Protocol *prot_ret = NULL;
|
Ecore_X_WM_Protocol *prot_ret = NULL;
|
||||||
|
Eina_Bool success;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
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;
|
return NULL;
|
||||||
|
|
||||||
if ((!protos) || (protos_count <= 0))
|
if ((!protos) || (protos_count <= 0))
|
||||||
|
|
|
@ -29,6 +29,7 @@ ecore_x_window_shape_mask_set(Ecore_X_Window win,
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
XShapeCombineMask(_ecore_x_disp, win, ShapeBounding, 0, 0, mask, ShapeSet);
|
XShapeCombineMask(_ecore_x_disp, win, ShapeBounding, 0, 0, mask, ShapeSet);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,6 +46,7 @@ ecore_x_window_shape_input_mask_set(Ecore_X_Window win,
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
#ifdef ShapeInput
|
#ifdef ShapeInput
|
||||||
XShapeCombineMask(_ecore_x_disp, win, ShapeInput, 0, 0, mask, ShapeSet);
|
XShapeCombineMask(_ecore_x_disp, win, ShapeInput, 0, 0, mask, ShapeSet);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else /* ifdef ShapeInput */
|
#else /* ifdef ShapeInput */
|
||||||
return;
|
return;
|
||||||
win = mask = 0;
|
win = mask = 0;
|
||||||
|
@ -64,6 +66,7 @@ ecore_x_window_shape_window_set(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeBounding,
|
ShapeBounding,
|
||||||
ShapeSet);
|
ShapeSet);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -80,6 +83,7 @@ ecore_x_window_shape_input_window_set(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeInput,
|
ShapeInput,
|
||||||
ShapeSet);
|
ShapeSet);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = shape_win = 0;
|
win = shape_win = 0;
|
||||||
|
@ -101,6 +105,7 @@ ecore_x_window_shape_window_set_xy(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeBounding,
|
ShapeBounding,
|
||||||
ShapeSet);
|
ShapeSet);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -119,6 +124,7 @@ ecore_x_window_shape_input_window_set_xy(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeInput,
|
ShapeInput,
|
||||||
ShapeSet);
|
ShapeSet);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = shape_win = x = y = 0;
|
win = shape_win = x = y = 0;
|
||||||
|
@ -148,6 +154,7 @@ ecore_x_window_shape_rectangle_set(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeSet,
|
ShapeSet,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -174,6 +181,7 @@ ecore_x_window_shape_input_rectangle_set(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeSet,
|
ShapeSet,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = x = y = w = h = 0;
|
win = x = y = w = h = 0;
|
||||||
|
@ -212,6 +220,7 @@ ecore_x_window_shape_rectangles_set(Ecore_X_Window win,
|
||||||
num,
|
num,
|
||||||
ShapeSet,
|
ShapeSet,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (rect) free(rect);
|
if (rect) free(rect);
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
|
@ -251,6 +260,7 @@ ecore_x_window_shape_input_rectangles_set(Ecore_X_Window win,
|
||||||
num,
|
num,
|
||||||
ShapeSet,
|
ShapeSet,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (rect) free(rect);
|
if (rect) free(rect);
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
|
@ -281,6 +291,7 @@ ecore_x_window_shape_rectangle_subtract(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeSubtract,
|
ShapeSubtract,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -307,6 +318,7 @@ ecore_x_window_shape_input_rectangle_subtract(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeSubtract,
|
ShapeSubtract,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = x = y = w = h = 0;
|
win = x = y = w = h = 0;
|
||||||
|
@ -326,6 +338,7 @@ ecore_x_window_shape_window_add(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeBounding,
|
ShapeBounding,
|
||||||
ShapeUnion);
|
ShapeUnion);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -343,6 +356,7 @@ ecore_x_window_shape_window_add_xy(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeBounding,
|
ShapeBounding,
|
||||||
ShapeUnion);
|
ShapeUnion);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -361,6 +375,7 @@ ecore_x_window_shape_input_window_add_xy(Ecore_X_Window win,
|
||||||
shape_win,
|
shape_win,
|
||||||
ShapeInput,
|
ShapeInput,
|
||||||
ShapeUnion);
|
ShapeUnion);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = shape_win = x = y = 0;
|
win = shape_win = x = y = 0;
|
||||||
|
@ -390,6 +405,7 @@ ecore_x_window_shape_rectangle_add(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeUnion,
|
ShapeUnion,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -416,6 +432,7 @@ ecore_x_window_shape_input_rectangle_add(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeUnion,
|
ShapeUnion,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = x = y = w = h = 0;
|
win = x = y = w = h = 0;
|
||||||
|
@ -445,6 +462,7 @@ ecore_x_window_shape_rectangle_clip(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeIntersect,
|
ShapeIntersect,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -471,6 +489,7 @@ ecore_x_window_shape_input_rectangle_clip(Ecore_X_Window win,
|
||||||
1,
|
1,
|
||||||
ShapeIntersect,
|
ShapeIntersect,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
win = x = y = w = h = 0;
|
win = x = y = w = h = 0;
|
||||||
|
@ -508,6 +527,7 @@ ecore_x_window_shape_rectangles_add(Ecore_X_Window win,
|
||||||
num,
|
num,
|
||||||
ShapeUnion,
|
ShapeUnion,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (rect) free(rect);
|
if (rect) free(rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -543,6 +563,7 @@ ecore_x_window_shape_input_rectangles_add(Ecore_X_Window win,
|
||||||
num,
|
num,
|
||||||
ShapeUnion,
|
ShapeUnion,
|
||||||
Unsorted);
|
Unsorted);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (rect) free(rect);
|
if (rect) free(rect);
|
||||||
#else
|
#else
|
||||||
return;
|
return;
|
||||||
|
@ -560,6 +581,7 @@ ecore_x_window_shape_rectangles_get(Ecore_X_Window win,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
rect = XShapeGetRectangles(_ecore_x_disp, win, ShapeBounding, &num, &ord);
|
rect = XShapeGetRectangles(_ecore_x_disp, win, ShapeBounding, &num, &ord);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (rect)
|
if (rect)
|
||||||
{
|
{
|
||||||
if (num < 1)
|
if (num < 1)
|
||||||
|
@ -599,6 +621,7 @@ ecore_x_window_shape_input_rectangles_get(Ecore_X_Window win,
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
rect = XShapeGetRectangles(_ecore_x_disp, win, ShapeInput, &num, &ord);
|
rect = XShapeGetRectangles(_ecore_x_disp, win, ShapeInput, &num, &ord);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (rect)
|
if (rect)
|
||||||
{
|
{
|
||||||
if (num < 1)
|
if (num < 1)
|
||||||
|
@ -638,9 +661,11 @@ ecore_x_window_shape_input_rectangles_get(Ecore_X_Window win,
|
||||||
&(rects[0].width), &(rects[0].height),
|
&(rects[0].width), &(rects[0].height),
|
||||||
&di, &di))
|
&di, &di))
|
||||||
{
|
{
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
free(rects);
|
free(rects);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (num_ret) *num_ret = 1;
|
if (num_ret) *num_ret = 1;
|
||||||
return rects;
|
return rects;
|
||||||
#endif
|
#endif
|
||||||
|
@ -655,5 +680,6 @@ ecore_x_window_shape_events_select(Ecore_X_Window win,
|
||||||
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
|
XShapeSelectInput(_ecore_x_disp, win, ShapeNotifyMask);
|
||||||
else
|
else
|
||||||
XShapeSelectInput(_ecore_x_disp, win, 0);
|
XShapeSelectInput(_ecore_x_disp, win, 0);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -434,6 +434,7 @@ ecore_x_input_multi_select(Ecore_X_Window win)
|
||||||
XISetMask(mask, XI_ButtonRelease);
|
XISetMask(mask, XI_ButtonRelease);
|
||||||
XISetMask(mask, XI_Motion);
|
XISetMask(mask, XI_Motion);
|
||||||
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
|
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
find = EINA_TRUE;
|
find = EINA_TRUE;
|
||||||
}
|
}
|
||||||
else if (dev->use == XISlavePointer)
|
else if (dev->use == XISlavePointer)
|
||||||
|
@ -485,6 +486,7 @@ ecore_x_input_multi_select(Ecore_X_Window win)
|
||||||
#endif /* #ifdef ECORE_XI2_2 */
|
#endif /* #ifdef ECORE_XI2_2 */
|
||||||
|
|
||||||
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
|
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
find = EINA_TRUE;
|
find = EINA_TRUE;
|
||||||
}
|
}
|
||||||
#ifdef ECORE_XI2_2
|
#ifdef ECORE_XI2_2
|
||||||
|
@ -507,6 +509,7 @@ ecore_x_input_multi_select(Ecore_X_Window win)
|
||||||
XISetMask(mask, XI_TouchBegin);
|
XISetMask(mask, XI_TouchBegin);
|
||||||
XISetMask(mask, XI_TouchEnd);
|
XISetMask(mask, XI_TouchEnd);
|
||||||
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
|
XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
l = eina_inlist_append(l, (Eina_Inlist *)info);
|
l = eina_inlist_append(l, (Eina_Inlist *)info);
|
||||||
_ecore_x_xi2_touch_info_list = l;
|
_ecore_x_xi2_touch_info_list = l;
|
||||||
|
@ -549,6 +552,7 @@ ecore_x_input_raw_select(Ecore_X_Window win)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
XISelectEvents(_ecore_x_disp, win, &emask, 1);
|
XISelectEvents(_ecore_x_disp, win, &emask, 1);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -29,10 +29,13 @@ ecore_x_xinerama_screen_count_get(void)
|
||||||
_xin_info = NULL;
|
_xin_info = NULL;
|
||||||
if (XineramaQueryExtension(_ecore_x_disp, &event_base, &error_base))
|
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);
|
_xin_info = XineramaQueryScreens(_ecore_x_disp, &_xin_scr_num);
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
if (_xin_info)
|
if (_xin_info)
|
||||||
return _xin_scr_num;
|
return _xin_scr_num;
|
||||||
}
|
}
|
||||||
|
if (_ecore_xlib_sync) ecore_x_sync();
|
||||||
|
|
||||||
#endif /* ifdef ECORE_XINERAMA */
|
#endif /* ifdef ECORE_XINERAMA */
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue