[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