summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristof Pintaske <cp@openoffice.org>2002-08-16 16:16:27 +0000
committerChristof Pintaske <cp@openoffice.org>2002-08-16 16:16:27 +0000
commit93bf94a1e10897a94d02e0b160c1b3cdb4d8baaa (patch)
tree71f071f715b98e99cb4979857a23fdb1fbd44be0
parent331a6626fa21bca94d04ab569560e6fe17c64675 (diff)
#102010# accessibility hack: keep menues open after focus lost
-rw-r--r--vcl/source/window/winproc.cxx22
1 files changed, 15 insertions, 7 deletions
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 06b0a85dd594..7fcdfdde5d58 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: winproc.cxx,v $
*
- * $Revision: 1.56 $
+ * $Revision: 1.57 $
*
- * last change: $Author: ssa $ $Date: 2002-07-18 08:04:31 $
+ * last change: $Author: cp $ $Date: 2002-08-16 17:16:27 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1619,11 +1619,19 @@ IMPL_LINK( Window, ImplAsyncFocusHdl, void*, EMPTYARG )
// TrackingMode is ended in ImplHandleLoseFocus
// To avoid problems with the Unix IME
// pFocusWin->EndExtTextInput( EXTTEXTINPUT_END_COMPLETE );
- NotifyEvent aNEvt( EVENT_LOSEFOCUS, pFocusWin );
- if ( !ImplCallPreNotify( aNEvt ) )
- pFocusWin->LoseFocus();
- pFocusWin->ImplCallDeactivateListeners( NULL );
- GetpApp()->FocusChanged();
+
+ // XXX #102010# hack for accessibility: do not close the menu,
+ // even after focus lost
+ static const char* pEnv = getenv("SAL_FLOATWIN_NOAPPFOCUSCLOSE");
+ if( !(pEnv && *pEnv) )
+ {
+ NotifyEvent aNEvt( EVENT_LOSEFOCUS, pFocusWin );
+ if ( !ImplCallPreNotify( aNEvt ) )
+ pFocusWin->LoseFocus();
+ pFocusWin->ImplCallDeactivateListeners( NULL );
+ GetpApp()->FocusChanged();
+ }
+ // XXX
}
}