Hello,
I am working on a problem with IE where if you start the application in full screen mode:
(start IE, change to full screen using view->full screen, shutdown IE, restart IE)
the keyboard focus never gets given to the application so you cannot enter any information into forms.
Looking into this i found that we where never being given any ClientMessage events to take focus nor any FocusIn events. So the keyboard focus remains on whatever app last had it, such as the terminal used to start IE.
A very simple, shotgun, way to solve this is this attached patch. Thinking about windows architecture i was trying to think of a time where a window would receive a button click and would not be given input focus (yes the app may modify focus but it would do that anyway)
However this change is HUGE and will affect alot and wanted to bounce it off people before continuing to investigate it.
This look ok to people? Other ideas on proper ways to deal with this issue?
thanks -aric
Index: dlls/x11drv/event.c =================================================================== RCS file: /home/wine/wine/dlls/x11drv/event.c,v retrieving revision 1.30 diff -u -w -r1.30 event.c --- dlls/x11drv/event.c 5 Dec 2003 04:45:50 -0000 1.30 +++ dlls/x11drv/event.c 16 Dec 2003 19:02:57 -0000 @@ -287,6 +287,14 @@ break;
case ButtonPress: + /* + * I am sort of unsure about this however + * there should not be a case where the button is clicked somewhere + * and windows does not assume focus is sent there. + * + * it also fixes a bunch of input problems for forms in IE + */ + set_focus(hWnd,CurrentTime); X11DRV_ButtonPress( hWnd, (XButtonEvent*)event ); break;