- // XSetICValues(ic, XNClientWindow, window.windowHandle, XNFocusWindow, window.windowHandle, 0);
- XSetICFocus(windowData.ic);
+ XFocusChangeEvent *event = (XFocusChangeEvent *) thisEvent;
+ Window modalRoot = window.FindModal();
+ XWindowData windowData;
+
+ activeWindow = (X11Window)window.windowHandle;
+
+ if(window.parent && window == window.parent.activeChild) break;
+ incref window;
+ //if(window.creationActivation == activate)
+ {
+ if(modalRoot)
+ modalRoot.ExternalActivate(true, true, window, null); // lastActive);
+ else
+ window.ExternalActivate(true, true, window, null); // lastActive);
+ }
+ windowData = modalRoot ? modalRoot.windowData : window.windowData;
+ if(windowData && windowData.ic)
+ {
+ // XSetICValues(ic, XNClientWindow, window.windowHandle, XNFocusWindow, window.windowHandle, 0);
+ XSetICFocus(windowData.ic);
+ }
+ //delete lastActive;
+ //lastActive = window;
+ //incref lastActive;
+ delete window;