a30e3ddd6c
handle utf8 encoding better.
31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
$OpenBSD: patch-src_kernel_qapplication_x11_cpp,v 1.4 2007/03/31 22:49:46 espie Exp $
|
|
--- src/kernel/qapplication_x11.cpp.orig Sat Mar 31 14:51:22 2007
|
|
+++ src/kernel/qapplication_x11.cpp Sat Mar 31 14:51:24 2007
|
|
@@ -3294,11 +3294,7 @@ int QApplication::x11ProcessEvent( XEvent* event )
|
|
// filtering opportunity first to ensure all input methods work
|
|
// properly regardless of application design.
|
|
|
|
-#ifndef QT_NO_IM_EXTENSIONS
|
|
if( keywidget && keywidget->isEnabled() && keywidget->isInputMethodEnabled() ) {
|
|
-#else
|
|
- if( keywidget && keywidget->isEnabled() ) {
|
|
-#endif
|
|
if( ( event->type==XKeyPress || event->type==XKeyRelease ) &&
|
|
sm_blockUserInput ) // block user interaction during session management
|
|
return TRUE;
|
|
@@ -5220,11 +5216,12 @@ bool QETWidget::translateKeyEventInternal( const XEven
|
|
} else {
|
|
key = (int)(long)keyDict->find( keycode );
|
|
if ( key )
|
|
- if( !willRepeat ) // Take out key of dictionary only if this call.
|
|
+ if( !willRepeat && statefulTranslation ) // Take out key of dictionary only if this call.
|
|
keyDict->take( keycode );
|
|
long s = (long)textDict->find( keycode );
|
|
if ( s ) {
|
|
- textDict->take( keycode );
|
|
+ if( statefulTranslation )
|
|
+ textDict->take( keycode );
|
|
ascii = (char)(s-256);
|
|
}
|
|
}
|