forked from enlightenment/efl
ecore_x: init XEvents before passing to x
it turns out that xlib is going to copy the complete struct into something internal. This might lead to the condition that a uninitalized value might be part of the struct, and when later the struct is read again the code might do wrong stuff since that value could be set now to a randomly other meaningfull value. This turned out on me in e as i could not write any letters like ßöäü, since that lead to a not returning call to _XReply internal of xlib. Dugging that showed that xlib was waiting on a reply of a call that never got executed, and the XEvent it is waiting on just contians a randomly correct value. @fix
This commit is contained in:
parent
ae443173ec
commit
aca00f8502
|
@ -1770,7 +1770,7 @@ ecore_x_window_button_grab(Ecore_X_Window win,
|
||||||
static void
|
static void
|
||||||
_ecore_x_sync_magic_send(int val, Ecore_X_Window swin, int b, int mod, int anymod)
|
_ecore_x_sync_magic_send(int val, Ecore_X_Window swin, int b, int mod, int anymod)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
xev.xclient.type = ClientMessage;
|
xev.xclient.type = ClientMessage;
|
||||||
xev.xclient.serial = 0;
|
xev.xclient.serial = 0;
|
||||||
|
@ -2138,7 +2138,7 @@ ecore_x_client_message32_send(Ecore_X_Window win,
|
||||||
long d3,
|
long d3,
|
||||||
long d4)
|
long d4)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Eina_Bool ret;
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -2174,7 +2174,7 @@ ecore_x_client_message8_send(Ecore_X_Window win,
|
||||||
const void *data,
|
const void *data,
|
||||||
int len)
|
int len)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Eina_Bool ret;
|
Eina_Bool ret;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -2201,7 +2201,7 @@ ecore_x_mouse_move_send(Ecore_X_Window win,
|
||||||
int x,
|
int x,
|
||||||
int y)
|
int y)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
@ -2234,7 +2234,7 @@ ecore_x_mouse_down_send(Ecore_X_Window win,
|
||||||
int y,
|
int y,
|
||||||
int b)
|
int b)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
@ -2267,7 +2267,7 @@ ecore_x_mouse_up_send(Ecore_X_Window win,
|
||||||
int y,
|
int y,
|
||||||
int b)
|
int b)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
@ -2299,7 +2299,7 @@ ecore_x_mouse_in_send(Ecore_X_Window win,
|
||||||
int x,
|
int x,
|
||||||
int y)
|
int y)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
@ -2333,7 +2333,7 @@ ecore_x_mouse_out_send(Ecore_X_Window win,
|
||||||
int x,
|
int x,
|
||||||
int y)
|
int y)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
XWindowAttributes att;
|
XWindowAttributes att;
|
||||||
Window tw;
|
Window tw;
|
||||||
int rx, ry;
|
int rx, ry;
|
||||||
|
|
|
@ -469,7 +469,7 @@ _ecore_x_dnd_begin(Ecore_X_Window source,
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_ecore_x_dnd_drop(Eina_Bool self)
|
_ecore_x_dnd_drop(Eina_Bool self)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
int status = EINA_FALSE;
|
int status = EINA_FALSE;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -549,7 +549,7 @@ ecore_x_dnd_send_status(Eina_Bool will_accept,
|
||||||
Ecore_X_Rectangle rectangle,
|
Ecore_X_Rectangle rectangle,
|
||||||
Ecore_X_Atom action)
|
Ecore_X_Atom action)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp);
|
EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp);
|
||||||
|
|
||||||
|
@ -601,7 +601,7 @@ ecore_x_dnd_send_status(Eina_Bool will_accept,
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_dnd_send_finished(void)
|
ecore_x_dnd_send_finished(void)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp);
|
EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp);
|
||||||
|
|
||||||
|
@ -649,7 +649,7 @@ _ecore_x_dnd_drag(Ecore_X_Window root,
|
||||||
int x,
|
int x,
|
||||||
int y)
|
int y)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Ecore_X_Window win;
|
Ecore_X_Window win;
|
||||||
Ecore_X_Window *skip;
|
Ecore_X_Window *skip;
|
||||||
Ecore_X_Xdnd_Position pos;
|
Ecore_X_Xdnd_Position pos;
|
||||||
|
|
|
@ -1100,7 +1100,7 @@ EAPI void
|
||||||
ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
|
ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
|
||||||
Ecore_X_Window win)
|
Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -1132,7 +1132,7 @@ ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
|
||||||
int w,
|
int w,
|
||||||
int h)
|
int h)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -1457,7 +1457,7 @@ ecore_x_e_window_profile_change_send(Ecore_X_Window root,
|
||||||
Ecore_X_Window win,
|
Ecore_X_Window win,
|
||||||
const char *profile)
|
const char *profile)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Ecore_X_Atom atom;
|
Ecore_X_Atom atom;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -1493,7 +1493,7 @@ EAPI void
|
||||||
ecore_x_e_window_profile_change_request_send(Ecore_X_Window win,
|
ecore_x_e_window_profile_change_request_send(Ecore_X_Window win,
|
||||||
const char *profile)
|
const char *profile)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Ecore_X_Atom atom;
|
Ecore_X_Atom atom;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -1526,7 +1526,7 @@ ecore_x_e_window_profile_change_done_send(Ecore_X_Window root,
|
||||||
Ecore_X_Window win,
|
Ecore_X_Window win,
|
||||||
const char *profile)
|
const char *profile)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Ecore_X_Atom atom;
|
Ecore_X_Atom atom;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
@ -1629,7 +1629,7 @@ ecore_x_e_comp_sync_supported_get(Ecore_X_Window root)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
|
ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -1655,7 +1655,7 @@ ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
|
ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -1681,7 +1681,7 @@ ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
|
ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -1707,7 +1707,7 @@ ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_e_comp_flush_send(Ecore_X_Window win)
|
ecore_x_e_comp_flush_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -1733,7 +1733,7 @@ ecore_x_e_comp_flush_send(Ecore_X_Window win)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_e_comp_dump_send(Ecore_X_Window win)
|
ecore_x_e_comp_dump_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -2288,7 +2288,7 @@ ecore_x_e_window_rotation_change_prepare_done_send(Ecore_X_Window root,
|
||||||
Ecore_X_Window win,
|
Ecore_X_Window win,
|
||||||
int rot)
|
int rot)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -2331,7 +2331,7 @@ ecore_x_e_window_rotation_change_done_send(Ecore_X_Window root,
|
||||||
int w,
|
int w,
|
||||||
int h)
|
int h)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
|
|
@ -1235,7 +1235,7 @@ EAPI void
|
||||||
ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
|
ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
|
||||||
Ecore_X_Window root)
|
Ecore_X_Window root)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -351,7 +351,7 @@ ecore_x_netwm_client_active_request(Ecore_X_Window root,
|
||||||
int type,
|
int type,
|
||||||
Ecore_X_Window current_win)
|
Ecore_X_Window current_win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
if (!root)
|
if (!root)
|
||||||
|
@ -1500,7 +1500,7 @@ ecore_x_netwm_sync_counter_get(Ecore_X_Window win,
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_netwm_ping_send(Ecore_X_Window win)
|
ecore_x_netwm_ping_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
return;
|
return;
|
||||||
|
@ -1526,7 +1526,7 @@ ecore_x_netwm_sync_request_send(Ecore_X_Window win,
|
||||||
unsigned int serial)
|
unsigned int serial)
|
||||||
{
|
{
|
||||||
XSyncValue value;
|
XSyncValue value;
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
return;
|
return;
|
||||||
|
@ -1556,7 +1556,7 @@ ecore_x_netwm_state_request_send(Ecore_X_Window win,
|
||||||
Ecore_X_Window_State s2,
|
Ecore_X_Window_State s2,
|
||||||
Eina_Bool set)
|
Eina_Bool set)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
return;
|
return;
|
||||||
|
@ -1590,7 +1590,7 @@ ecore_x_netwm_desktop_request_send(Ecore_X_Window win,
|
||||||
Ecore_X_Window root,
|
Ecore_X_Window root,
|
||||||
unsigned int desktop)
|
unsigned int desktop)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
return;
|
return;
|
||||||
|
@ -1620,7 +1620,7 @@ ecore_x_netwm_moveresize_request_send(Ecore_X_Window win,
|
||||||
Ecore_X_Netwm_Direction direction,
|
Ecore_X_Netwm_Direction direction,
|
||||||
unsigned int button)
|
unsigned int button)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -491,7 +491,7 @@ ecore_x_selection_notify_send(Ecore_X_Window requestor,
|
||||||
Ecore_X_Atom property,
|
Ecore_X_Atom property,
|
||||||
Ecore_X_Time tim)
|
Ecore_X_Time tim)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
XSelectionEvent xnotify;
|
XSelectionEvent xnotify;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
|
@ -467,7 +467,7 @@ ecore_x_window_ignore_list(int *num)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_window_delete_request_send(Ecore_X_Window win)
|
ecore_x_window_delete_request_send(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
|
|
||||||
/* sorry sir, deleting the root window doesn't sound like
|
/* sorry sir, deleting the root window doesn't sound like
|
||||||
* a smart idea.
|
* a smart idea.
|
||||||
|
@ -522,7 +522,7 @@ ecore_x_window_show(Ecore_X_Window win)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_window_hide(Ecore_X_Window win)
|
ecore_x_window_hide(Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
XEvent xev;
|
XEvent xev = { 0 };
|
||||||
Window root;
|
Window root;
|
||||||
int idum;
|
int idum;
|
||||||
unsigned int uidum;
|
unsigned int uidum;
|
||||||
|
|
Loading…
Reference in New Issue