[immodule-qt] Re: [SCIM] scim-qtimm 0.7 released

Choe Hwanjin krisna at kldp.org
Sun Sep 5 05:47:32 EEST 2004


On Sat, Sep 04, 2004 at 09:17:41PM +0000, LiuCougar wrote:
> Confirmed. This is a potential issue deep in the qt-immodule patch,
> rather than scim-qtimm itself.
> 
> Let's take "ds" as the example: 
> if you type "ds" in qt apps with Vietnamese m17n-vi-viqr, you should
> see "ds", but with the current qt-immodule, you would get "sd"!
> 
> This is due to the fact that the IMEnd event in qt-immodule is posted
> to be processed later. However, in the Vietnamese m17n-vi-viqr input
> method, after pressing "s", the first "d" is committed and the "s" is
> forwarded to qt. Because the commit of "d" is scheduled while the
> forward of "s" takes effect immediately, we get "sd", rather than "ds"
> as expected
> .
> I changed one function in kernel/qapplication_x11.cpp to overcome this issue:
> 
> void QApplication::postIMEvent( QObject *receiver, QIMEvent *event )
> {
>     if( event->type() == QEvent::IMCompose )
>         postEvent( receiver, event );
>     else {
>         sendEvent( receiver, event );
>         delete event;
>     }
> }
> 
> (With this modification, the input "To^i te^n la` Dda vi.t." will
> generate the correctly output.)

This patch also solve my qimhangul problem which I posted yesterday.
http://freedesktop.org/pipermail/immodule-qt/2004-September/000443.html

Is there any reason to use postEvent instead of sendEvent?




More information about the immodule-qt mailing list