summaryrefslogtreecommitdiff
path: root/vcl/unx/source/window
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2003-05-28 11:34:33 +0000
committerVladimir Glazounov <vg@openoffice.org>2003-05-28 11:34:33 +0000
commitb42c64b99dbd22eed44eda0e463c691555746ffd (patch)
tree9be38b6ff273e6919403aad7b3bfb9f5ceec56ad /vcl/unx/source/window
parent02b76d05229a0c99893f87e84b0f6e779d72f6bf (diff)
INTEGRATION: CWS vcl09 (1.155.2); FILE MERGED
2003/05/13 09:16:01 hdu 1.155.2.4: RESYNC: (1.156-1.157); FILE MERGED 2003/05/07 12:20:31 pl 1.155.2.3: #108997# ignore XErrors if a child frame was ever created 2003/04/25 07:25:39 hdu 1.155.2.2: RESYNC: (1.155-1.156); FILE MERGED 2003/04/17 13:51:14 pl 1.155.2.1: #108171# do not close popups if environment variable is set
Diffstat (limited to 'vcl/unx/source/window')
-rw-r--r--vcl/unx/source/window/salframe.cxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/vcl/unx/source/window/salframe.cxx b/vcl/unx/source/window/salframe.cxx
index c289edec93c9..3b0007550875 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.157 $
+ * $Revision: 1.158 $
*
- * last change: $Author: rt $ $Date: 2003-04-24 15:17:19 $
+ * last change: $Author: vg $ $Date: 2003-05-28 12:34:33 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -384,6 +384,10 @@ void SalFrameData::Init( ULONG nSalFrameStyle, SystemParentData* pParentData )
}
else if( pParentData )
{
+ // plugin parent may be killed unexpectedly by
+ // plugging process; ignore XErrors in that case
+ GetDisplay()->GetXLib()->SetIgnoreXErrors( TRUE );
+
nStyle_ |= SAL_FRAME_STYLE_CHILD;
Attributes.override_redirect = True;
@@ -2194,6 +2198,10 @@ SalFrame* SalFrame::GetParent() const
bool SalFrameData::SetPluginParent( SystemParentData* pNewParent )
{
+ // plugin parent may be killed unexpectedly by
+ // plugging process; ignore XErrors in that case
+ GetDisplay()->GetXLib()->SetIgnoreXErrors( TRUE );
+
// first deinit frame
if( mpInputContext )
{
@@ -2489,7 +2497,8 @@ long SalFrameData::HandleMouseEvent( XEvent *pEvent )
ImplSVData* pSVData = ImplGetSVData();
if ( pSVData->maWinData.mpFirstFloat )
{
- if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE) )
+ static const char* pEnv = getenv( "SAL_FLOATWIN_NOAPPFOCUSCLOSE" );
+ if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE) && !(pEnv && *pEnv) )
pSVData->maWinData.mpFirstFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
}
}