From db0290859be1708a2d78636820eb52f2c3bfbe67 Mon Sep 17 00:00:00 2001 From: Huang Peng Date: Mon, 18 Aug 2008 10:12:27 +0800 Subject: Fix cursor pos problem --- client/qt4/ibus-input-context.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'client/qt4/ibus-input-context.cpp') diff --git a/client/qt4/ibus-input-context.cpp b/client/qt4/ibus-input-context.cpp index 99d0cf0..36d6105 100644 --- a/client/qt4/ibus-input-context.cpp +++ b/client/qt4/ibus-input-context.cpp @@ -105,10 +105,8 @@ IBusInputContext::update () QPoint topleft = widget->mapToGlobal(QPoint(0,0)); rect.translate (topleft); - if (cursor_location != rect ) { - client->setCursorLocation (this, rect); - cursor_location = rect; - } + + client->setCursorLocation (this, rect); #if 0 QVariant value; @@ -135,15 +133,18 @@ void IBusInputContext::setFocusWidget (QWidget *widget) { QInputContext::setFocusWidget (widget); + if (widget == NULL) { has_focus = false; client->focusOut (this); } else { + /* KateView can not support preedit well. */ if (widget->inherits("KateViewInternal")) client->setCapabilities (this, 0); else client->setCapabilities (this, 1); + has_focus = true; client->focusIn (this); update (); -- cgit