fix another minor bug in DLGC_WANTMESSAGE handling in MSWProcessMessage()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2260,10 +2260,10 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg)
|
|||||||
if ( !bCtrlDown )
|
if ( !bCtrlDown )
|
||||||
{
|
{
|
||||||
// this will contain the dialog code of this
|
// this will contain the dialog code of this
|
||||||
// window and all of its parent windows
|
// window and all of its parent windows in turn
|
||||||
LONG lDlgCode2 = lDlgCode;
|
LONG lDlgCode2 = lDlgCode;
|
||||||
|
|
||||||
while ( win && !win->IsTopLevel() )
|
while ( win )
|
||||||
{
|
{
|
||||||
if ( lDlgCode2 & DLGC_WANTMESSAGE )
|
if ( lDlgCode2 & DLGC_WANTMESSAGE )
|
||||||
{
|
{
|
||||||
@@ -2273,6 +2273,13 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// don't propagate keyboard messages beyond
|
||||||
|
// the first top level window parent
|
||||||
|
if ( win->IsTopLevel() )
|
||||||
|
break;
|
||||||
|
|
||||||
|
win = win->GetParent();
|
||||||
|
|
||||||
lDlgCode2 = ::SendMessage
|
lDlgCode2 = ::SendMessage
|
||||||
(
|
(
|
||||||
GetHwndOf(win),
|
GetHwndOf(win),
|
||||||
@@ -2280,8 +2287,6 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg)
|
|||||||
0,
|
0,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
win = win->GetParent();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // bCtrlDown
|
else // bCtrlDown
|
||||||
|
Reference in New Issue
Block a user