summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorPhilipp Lohmann <pl@openoffice.org>2000-12-15 17:10:10 +0000
committerPhilipp Lohmann <pl@openoffice.org>2000-12-15 17:10:10 +0000
commitf00481fac1334a36c446de0a6fcf9fcdb1c92838 (patch)
tree3f75bb7184f98eb499389f9b0dd6f856667605d9 /vcl/unx
parentc9030df670000d0e3734971255b8e1ee7f4c4c67 (diff)
#79518# #81918# improve the IME hack
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/source/window/salframe.cxx11
1 files changed, 6 insertions, 5 deletions
diff --git a/vcl/unx/source/window/salframe.cxx b/vcl/unx/source/window/salframe.cxx
index 030e3f8ed1dc..e44e255e5bf1 100644
--- a/vcl/unx/source/window/salframe.cxx
+++ b/vcl/unx/source/window/salframe.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: salframe.cxx,v $
*
- * $Revision: 1.14 $
+ * $Revision: 1.15 $
*
- * last change: $Author: pl $ $Date: 2000-12-13 16:42:19 $
+ * last change: $Author: pl $ $Date: 2000-12-15 18:10:10 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -2690,8 +2690,6 @@ long SalFrameData::Dispatch( XEvent *pEvent )
break;
case VisibilityNotify:
- nVisibility_ = pEvent->xvisibility.state;
- nRet = TRUE;
// HACK: this is a workaround for CJK input method
// (see #79518#) the input method switches the focus forth and
// back while a second document is being mapped
@@ -2699,7 +2697,8 @@ long SalFrameData::Dispatch( XEvent *pEvent )
// as there are other problems with it too: on some window
// managers the focus will end in the status window of
// the IME and not in any document.
- if( nVisibility_ != VisibilityUnobscured
+ if( pEvent->xvisibility.state != VisibilityUnobscured
+ && nVisibility_ == VisibilityFullyObscured
&& ! mpParent && maChildren.Count() == 0
)
{
@@ -2711,6 +2710,8 @@ long SalFrameData::Dispatch( XEvent *pEvent )
|| focusWindow == GetWindow() )
XRaiseWindow( pDisplay_->GetDisplay(), GetShellWindow() );
}
+ nVisibility_ = pEvent->xvisibility.state;
+ nRet = TRUE;
break;
case ReparentNotify: