diff options
Diffstat (limited to 'x11/kdebase4-runtime/files/patch-plugin-keyboard-handler.diff')
-rw-r--r-- | x11/kdebase4-runtime/files/patch-plugin-keyboard-handler.diff | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/x11/kdebase4-runtime/files/patch-plugin-keyboard-handler.diff b/x11/kdebase4-runtime/files/patch-plugin-keyboard-handler.diff deleted file mode 100644 index 8d301d6d4e69..000000000000 --- a/x11/kdebase4-runtime/files/patch-plugin-keyboard-handler.diff +++ /dev/null @@ -1,77 +0,0 @@ ------------------------------------------------------------------------- -r652585 | lunakl | 2007-04-11 16:26:32 +0200 (Wed, 11 Apr 2007) | 3 lines -Changed paths: - M /branches/KDE/3.5/kdebase/nsplugins/viewer/qxteventloop.cpp - -Fix keyboard events handling. - - ------------------------------------------------------------------------- -Index: nsplugins/viewer/qxteventloop.cpp -=================================================================== ---- nsplugins/viewer/qxteventloop.cpp (revision 652584) -+++ nsplugins/viewer/qxteventloop.cpp (revision 652585) -@@ -32,12 +32,16 @@ - ** not clear to you. - ** - **********************************************************************/ -+ -+#include <config.h> -+ - #include "qxteventloop.h" - - #if QT_VERSION >= 0x030100 - - #include <qapplication.h> - #include <qwidgetintdict.h> -+#include <kglobal.h> - - // resolve the conflict between X11's FocusIn and QEvent::FocusIn - const int XFocusOut = FocusOut; -@@ -52,6 +56,8 @@ const int XKeyRelease = KeyRelease; - - Boolean qmotif_event_dispatcher( XEvent *event ); - -+static void handle_xquerykeymap( Display* dpy, XEvent* event ); -+ - class QXtEventLoopPrivate - { - public: -@@ -147,6 +153,7 @@ void QXtEventLoopPrivate::unhook() - extern bool qt_try_modal( QWidget *, XEvent * ); // defined in qapplication_x11.cpp - Boolean qmotif_event_dispatcher( XEvent *event ) - { -+ handle_xquerykeymap( qt_xdisplay(), event ); - QApplication::sendPostedEvents(); - - QWidgetIntDict *mapper = &static_d->mapper; -@@ -462,6 +469,29 @@ bool QXtEventLoop::processEvents( Proces - return ( (flags & WaitForMore) || ( pendingmask != 0 ) || nevents > 0 ); - } - -+#include <dlfcn.h> -+ -+static char xquerykeymap_data[ 32 ]; -+static int (*real_xquerykeymap)( Display*, char[32] ) = NULL; -+ -+static void handle_xquerykeymap( Display* dpy, XEvent* event ) -+{ -+ if( real_xquerykeymap == NULL ) -+ real_xquerykeymap = (int (*)( Display*, char[32] )) dlsym( RTLD_NEXT, "XQueryKeymap" ); -+ if( event->type == XFocusIn || event->type == XKeyPress || event->type == XKeyRelease ) -+ real_xquerykeymap( dpy, xquerykeymap_data ); -+ if( event->type == XFocusOut ) -+ memset( xquerykeymap_data, 0, 32 ); -+} -+ -+extern "C" KDE_EXPORT -+int XQueryKeymap( Display* , char k[32] ) -+{ -+ memcpy( k, xquerykeymap_data, 32 ); -+ return 1; -+} -+ -+ - #include "qxteventloop.moc" - - #endif |