just DONT ask! DONT! x. focvus. client, self, not getting key events... fuck!
workarounds. SVN revision: 16904
This commit is contained in:
parent
e0ac761a1f
commit
7e34d600b7
|
@ -79,12 +79,14 @@ EAPI Ecore_X_Window ecore_evas_software_x11_window_get(Ecore_Evas *ee);
|
|||
EAPI Ecore_X_Window ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee);
|
||||
EAPI void ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on);
|
||||
EAPI int ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee);
|
||||
EAPI void ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
|
||||
|
||||
EAPI Ecore_Evas *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
|
||||
EAPI Ecore_X_Window ecore_evas_gl_x11_window_get(Ecore_Evas *ee);
|
||||
EAPI Ecore_X_Window ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee);
|
||||
EAPI void ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on);
|
||||
EAPI int ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee);
|
||||
EAPI void ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
|
||||
|
||||
EAPI Ecore_Evas *ecore_evas_fb_new(char *disp_name, int rotation, int w, int h);
|
||||
|
||||
|
|
|
@ -90,6 +90,7 @@ struct _Ecore_Evas_Engine
|
|||
Ecore_X_Window win_root;
|
||||
Ecore_X_Window win_container;
|
||||
Ecore_X_Window win;
|
||||
Evas_List *win_extra;
|
||||
Ecore_X_Pixmap pmap;
|
||||
Ecore_X_Pixmap mask;
|
||||
Ecore_X_GC gc;
|
||||
|
|
|
@ -872,6 +872,15 @@ _ecore_evas_x_free(Ecore_Evas *ee)
|
|||
ee->engine.x.damages = 0;
|
||||
ecore_evases_hash = evas_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
|
||||
ecore_evases_hash = evas_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win_container), ee);
|
||||
while (ee->engine.x.win_extra)
|
||||
{
|
||||
Ecore_X_Window *winp;
|
||||
|
||||
winp = ee->engine.x.win_extra->data;
|
||||
ee->engine.x.win_extra = evas_list_remove_list(ee->engine.x.win_extra, ee->engine.x.win_extra);
|
||||
ecore_evases_hash = evas_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(*winp), ee);
|
||||
free(winp);
|
||||
}
|
||||
ecore_evases = _ecore_list2_remove(ecore_evases, ee);
|
||||
_ecore_evas_x_shutdown();
|
||||
ecore_x_shutdown();
|
||||
|
@ -1752,6 +1761,28 @@ ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee)
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* To be documented.
|
||||
*
|
||||
* FIXME: To be fixed.
|
||||
*/
|
||||
void
|
||||
ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
|
||||
{
|
||||
#ifdef BUILD_ECORE_X
|
||||
Ecore_X_Window *winp;
|
||||
|
||||
winp = malloc(sizeof(Ecore_X_Window));
|
||||
if (winp)
|
||||
{
|
||||
*winp = win;
|
||||
ee->engine.x.win_extra = evas_list_append(ee->engine.x.win_extra, winp);
|
||||
ecore_evases_hash = evas_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(win), ee);
|
||||
}
|
||||
#else
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* To be documented.
|
||||
*
|
||||
|
@ -1953,3 +1984,14 @@ ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee)
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* To be documented.
|
||||
*
|
||||
* FIXME: To be fixed.
|
||||
*/
|
||||
void
|
||||
ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
|
||||
{
|
||||
ecore_evas_software_x11_extra_event_window_add(ee, win);
|
||||
}
|
||||
|
||||
|
|
|
@ -1022,7 +1022,6 @@ void
|
|||
ecore_x_window_container_manage(Ecore_X_Window win)
|
||||
{
|
||||
XSelectInput(_ecore_x_disp, win,
|
||||
ResizeRedirectMask |
|
||||
SubstructureRedirectMask |
|
||||
SubstructureNotifyMask);
|
||||
}
|
||||
|
|
|
@ -171,7 +171,7 @@ _ecore_x_event_handle_key_press(XEvent *xevent)
|
|||
char buf[256];
|
||||
KeySym sym;
|
||||
XComposeStatus stat;
|
||||
|
||||
|
||||
e = calloc(1, sizeof(Ecore_X_Event_Key_Down));
|
||||
if (!e) return;
|
||||
keyname = XKeysymToString(XKeycodeToKeysym(xevent->xkey.display,
|
||||
|
|
|
@ -52,7 +52,7 @@ ecore_x_window_new(Ecore_X_Window parent, int x, int y, int w, int h)
|
|||
ColormapChangeMask;
|
||||
win = XCreateWindow(_ecore_x_disp, parent,
|
||||
x, y, w, h, 0,
|
||||
0, /*DefaultDepth(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
CopyFromParent, /*DefaultDepth(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
InputOutput,
|
||||
CopyFromParent, /*DefaultVisual(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
CWBackingStore |
|
||||
|
@ -109,7 +109,7 @@ ecore_x_window_override_new(Ecore_X_Window parent, int x, int y, int w, int h)
|
|||
ColormapChangeMask;
|
||||
win = XCreateWindow(_ecore_x_disp, parent,
|
||||
x, y, w, h, 0,
|
||||
0, /*DefaultDepth(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
CopyFromParent, /*DefaultDepth(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
InputOutput,
|
||||
CopyFromParent, /*DefaultVisual(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
CWBackingStore |
|
||||
|
@ -161,7 +161,7 @@ ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h)
|
|||
ColormapChangeMask;
|
||||
win = XCreateWindow(_ecore_x_disp, parent,
|
||||
x, y, w, h, 0,
|
||||
0,
|
||||
CopyFromParent,
|
||||
InputOnly,
|
||||
CopyFromParent, /*DefaultVisual(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),*/
|
||||
CWOverrideRedirect |
|
||||
|
|
Loading…
Reference in New Issue