diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2003-05-28 11:34:33 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2003-05-28 11:34:33 +0000 |
commit | b42c64b99dbd22eed44eda0e463c691555746ffd (patch) | |
tree | 9be38b6ff273e6919403aad7b3bfb9f5ceec56ad /vcl/unx/source/window | |
parent | 02b76d05229a0c99893f87e84b0f6e779d72f6bf (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.cxx | 15 |
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 ); } } |