summaryrefslogtreecommitdiffstats
path: root/mageia/dependencies/qt3/workaround-for-xlib-xim-bug.diff
diff options
context:
space:
mode:
Diffstat (limited to 'mageia/dependencies/qt3/workaround-for-xlib-xim-bug.diff')
-rw-r--r--mageia/dependencies/qt3/workaround-for-xlib-xim-bug.diff14
1 files changed, 14 insertions, 0 deletions
diff --git a/mageia/dependencies/qt3/workaround-for-xlib-xim-bug.diff b/mageia/dependencies/qt3/workaround-for-xlib-xim-bug.diff
new file mode 100644
index 000000000..2d8806ec9
--- /dev/null
+++ b/mageia/dependencies/qt3/workaround-for-xlib-xim-bug.diff
@@ -0,0 +1,14 @@
+--- plugins/src/inputmethods/xim/qximinputcontext_x11.cpp 2006-02-17 16:16:37.000000000 -0500
++++ plugins/src/inputmethods/xim/qximinputcontext_x11.cpp.new 2006-02-17 16:30:47.000000000 -0500
+@@ -491,8 +491,11 @@
+ ximServerName.ascii());
+ else {
+ Display *dpy = QPaintDevice::x11AppDisplay();
++ XWindowAttributes attr; // XIM unselects all events on the root window
++ XGetWindowAttributes( dpy, QPaintDevice::x11AppRootWindow(),&attr );
+ XRegisterIMInstantiateCallback(dpy, 0, 0, 0,
+ (XIMProc) xim_create_callback, 0);
++ XSelectInput( dpy, QPaintDevice::x11AppRootWindow(), attr.your_event_mask );
+ }
+ #else // !USE_X11R6_XIM
+ else if ( XSetLocaleModifiers ("") == 0 )