summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-11-08 21:15:54 +0000
committerCaolán McNamara <caolanm@redhat.com>2016-11-08 21:17:53 +0000
commit13203033fb41a8e585660134655c314691303fa4 (patch)
treee45f2812a29c9a1ac9e78ac1c23fd0b027819ef5
parent006884d7928c6b32cf0bb3f48e31bbac87d1d5ea (diff)
Resolves: tdf#103783 do consider parent of WB_DIALOGCONTROL widgets...
for tab cycling, given the problem of tdf#103783 regression from... commit fd40e3ea09a481a2e97452d2244ecdfd6c3508c1 Author: Caolán McNamara <caolanm@redhat.com> Date: Tue Nov 1 16:34:22 2016 +0000 lock tab-cycling inside the WB_DIALOGCONTROL widget activate the color selector in the toolbar in the sidebar panel, press tab to cycle between its widgets, when it hits the bottom it will not return to the first widget, but escape out of the floating window into the next sibling of the toolbar but only check the Parent, not RealParent Change-Id: I9577a0a9f3a622373c195e77ca43d17511b4154d
-rw-r--r--vcl/source/window/event.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 7eb98cff2a17..ca1439f867a7 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -169,9 +169,14 @@ bool Window::Notify( NotifyEvent& rNEvt )
// manage the dialogs
if ( (GetStyle() & (WB_DIALOGCONTROL | WB_NODIALOGCONTROL)) == WB_DIALOGCONTROL )
{
+ // if the parent also has dialog control activated, the parent takes over control
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) || (rNEvt.GetType() == MouseNotifyEvent::KEYUP) )
{
- bRet = ImplDlgCtrl(*rNEvt.GetKeyEvent(), rNEvt.GetType() == MouseNotifyEvent::KEYINPUT);
+ if ( ImplIsOverlapWindow() ||
+ ((getNonLayoutParent(this)->GetStyle() & (WB_DIALOGCONTROL | WB_NODIALOGCONTROL)) != WB_DIALOGCONTROL) )
+ {
+ bRet = ImplDlgCtrl( *rNEvt.GetKeyEvent(), rNEvt.GetType() == MouseNotifyEvent::KEYINPUT );
+ }
}
else if ( (rNEvt.GetType() == MouseNotifyEvent::GETFOCUS) || (rNEvt.GetType() == MouseNotifyEvent::LOSEFOCUS) )
{