summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Lohmann <pl@openoffice.org>2001-12-06 10:14:34 +0000
committerPhilipp Lohmann <pl@openoffice.org>2001-12-06 10:14:34 +0000
commit84cc7c4327afe166636e1c389d7cef663208d8ec (patch)
tree917045f29dcc527f079163f4fc4457edb5e6b05b
parent7d67ab96b5fb58ec033d851d9611c44e6044b959 (diff)
#95097# workaround for some WMs
-rw-r--r--vcl/unx/source/window/salframe.cxx21
1 files changed, 19 insertions, 2 deletions
diff --git a/vcl/unx/source/window/salframe.cxx b/vcl/unx/source/window/salframe.cxx
index 430663c64cfb..3c3256c5e9d4 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.108 $
+ * $Revision: 1.109 $
*
- * last change: $Author: pl $ $Date: 2001-12-03 11:35:23 $
+ * last change: $Author: pl $ $Date: 2001-12-06 11:14:34 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -954,6 +954,12 @@ void SalFrame::Show( BOOL bVisible )
_GetDisplay()->getWMAdaptor()->changeReferenceFrame( *it, this );
}
}
+ /*
+ * leave SHOWSTATE_UNKNOWN as this indicates first mapping
+ * and is only reset int HandleSizeEvent
+ */
+ if( maFrameData.nShowState_ != SHOWSTATE_UNKNOWN )
+ maFrameData.nShowState_ = SHOWSTATE_NORMAL;
}
else
{
@@ -3058,6 +3064,17 @@ long SalFrameData::Dispatch( XEvent *pEvent )
case MapNotify:
if( pEvent->xmap.window == GetShellWindow() )
{
+ if( nShowState_ == SHOWSTATE_HIDDEN )
+ {
+ /*
+ * #95097# workaround for (at least) KWin 2.2.2
+ * which will map windows that were once transient
+ * even if they are withdrawn when the respective
+ * document is mapped.
+ */
+ XUnmapWindow( GetXDisplay(), GetShellWindow() );
+ break;
+ }
bMapped_ = TRUE;
bViewable_ = TRUE;
nRet = TRUE;