diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-02-02 17:24:21 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-02-02 17:24:21 +0000 |
commit | f303f70a2b701ab29fb4af992672a37e3c55032c (patch) | |
tree | 69c29efe36a28d2e547a68dad334cce2d9b2388f /vcl | |
parent | ed8c78a00383812b0eb739812caa00ac395619e9 (diff) |
INTEGRATION: CWS geordi2q14 (1.84.24); FILE MERGED
2004/01/28 16:38:14 hr 1.84.24.1: #111934#: merge CWS vcl7pp1r3
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/window/winproc.cxx | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx index ade71399f2d6..a5217571a303 100644 --- a/vcl/source/window/winproc.cxx +++ b/vcl/source/window/winproc.cxx @@ -2,9 +2,9 @@ * * $RCSfile: winproc.cxx,v $ * - * $Revision: 1.84 $ + * $Revision: 1.85 $ * - * last change: $Author: vg $ $Date: 2004-01-06 14:21:57 $ + * last change: $Author: hr $ $Date: 2004-02-02 18:24:21 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1691,15 +1691,23 @@ IMPL_LINK( Window, ImplAsyncFocusHdl, void*, EMPTYARG ) if ( mpFrameData->mpFocusWin ) { - if ( mpFrameData->mpFocusWin->IsEnabled() && mpFrameData->mpFocusWin->IsInputEnabled() ) - mpFrameData->mpFocusWin->GrabFocus(); - else if( mpFrameData->mpFocusWin->ImplHasDlgCtrl() ) + BOOL bHandled = FALSE; + if ( mpFrameData->mpFocusWin->IsInputEnabled() ) { + if ( mpFrameData->mpFocusWin->IsEnabled() ) + { + mpFrameData->mpFocusWin->GrabFocus(); + bHandled = TRUE; + } + else if( mpFrameData->mpFocusWin->ImplHasDlgCtrl() ) + { // #109094# if the focus is restored to a disabled dialog control (was disabled meanwhile) // try to move it to the next control - mpFrameData->mpFocusWin->ImplDlgCtrlNextWindow(); + mpFrameData->mpFocusWin->ImplDlgCtrlNextWindow(); + bHandled = TRUE; + } } - else + if ( !bHandled ) { ImplSVData* pSVData = ImplGetSVData(); Window* pTopLevelWindow = mpFrameData->mpFocusWin->ImplGetFirstOverlapWindow(); |