[Uim] uim-pref-qt

Etsushi Kato ek.kato at gmail.com
Mon Jul 31 03:01:27 PDT 2006


On 7/31/06, YAMAMOTO Kengo / YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> In my last release of the immodule patch, any widgets are
> supposed to bypass input context filtering regardless of its
> input context existence, by the fragment below.
>
> QApplication::x11ProcessEvent( XEvent* event )
> ...
> #ifndef QT_NO_IM
>     if( keywidget && keywidget->isInputMethodEnabled() && keywidget->isEnabled() ) {
>
>
> If the fragment is still existing untouched in the function, I
> have no idea about what is happening on it. And I'm sorry of my
> leaving from the immodule development. I have no time to brush
> up it.

Aha.  In the latest qt-immodule, QApplication::x11ProcessEvent() has
following code.  Thus it must be a bug in the latest qt-immodule.

#ifndef QT_NO_IM_EXTENSIONS
    if( keywidget && keywidget->isEnabled() &&
keywidget->isInputMethodEnabled() ) {
#else
    if( keywidget && keywidget->isEnabled() ) {
#endif

And Fedora patched them as follows.

@@ -3294,11 +3294,7 @@
     // 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;

Cheers,
-- 
Etsushi Kato
ek.kato at gmail.com



More information about the uim mailing list