Input Focus problems with IE
Aric Stewart
aric at codeweavers.com
Tue Dec 16 13:09:37 CST 2003
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
-------------- next part --------------
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;
More information about the wine-devel
mailing list