diff options
author | Philipp Lohmann <pl@openoffice.org> | 2001-12-06 10:14:34 +0000 |
---|---|---|
committer | Philipp Lohmann <pl@openoffice.org> | 2001-12-06 10:14:34 +0000 |
commit | 84cc7c4327afe166636e1c389d7cef663208d8ec (patch) | |
tree | 917045f29dcc527f079163f4fc4457edb5e6b05b | |
parent | 7d67ab96b5fb58ec033d851d9611c44e6044b959 (diff) |
#95097# workaround for some WMs
-rw-r--r-- | vcl/unx/source/window/salframe.cxx | 21 |
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; |