When checking whether the parent has wxTAB_TRAVERSAL style, take into account that the wxComboCtrl can be part of a composite control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1775,9 +1775,13 @@ void wxComboCtrlBase::OnKeyEvent(wxKeyEvent& event)
|
|||||||
}
|
}
|
||||||
else // no popup
|
else // no popup
|
||||||
{
|
{
|
||||||
if ( GetParent()->HasFlag(wxTAB_TRAVERSAL) &&
|
wxWindow* mainCtrl = GetMainWindowOfCompositeControl();
|
||||||
HandleAsNavigationKey(event) )
|
|
||||||
|
if ( mainCtrl->GetParent()->HasFlag(wxTAB_TRAVERSAL) )
|
||||||
|
{
|
||||||
|
if ( mainCtrl->HandleAsNavigationKey(event) )
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ( IsKeyPopupToggle(event) )
|
if ( IsKeyPopupToggle(event) )
|
||||||
{
|
{
|
||||||
@@ -2022,7 +2026,8 @@ void wxComboCtrlBase::ShowPopup()
|
|||||||
// that if transient popup is open, then tab traversal is to be ignored.
|
// that if transient popup is open, then tab traversal is to be ignored.
|
||||||
// However, I think this code would still be needed for cases where
|
// However, I think this code would still be needed for cases where
|
||||||
// transient popup doesn't work yet (wxWinCE?).
|
// transient popup doesn't work yet (wxWinCE?).
|
||||||
wxWindow* parent = GetParent();
|
wxWindow* mainCtrl = GetMainWindowOfCompositeControl();
|
||||||
|
wxWindow* parent = mainCtrl->GetParent();
|
||||||
int parentFlags = parent->GetWindowStyle();
|
int parentFlags = parent->GetWindowStyle();
|
||||||
if ( parentFlags & wxTAB_TRAVERSAL )
|
if ( parentFlags & wxTAB_TRAVERSAL )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user