From: Benjamin Williams Date: Wed, 8 Nov 2006 08:13:06 +0000 (+0000) Subject: fixed bug in ButtonHitTest() which caused invisible buttons to be pressable X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/9b405ab3111d0fa0cc85fe7495a6e0af3e44496a?ds=inline fixed bug in ButtonHitTest() which caused invisible buttons to be pressable git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index 1d9711aa1c..53f00a42f7 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -1736,7 +1736,9 @@ bool wxAuiTabContainer::ButtonHitTest(int x, int y, for (i = 0; i < button_count; ++i) { wxAuiTabContainerButton& button = m_buttons.Item(i); - if (button.rect.Contains(x,y)) + if (button.rect.Contains(x,y) && + !(button.cur_state & (wxAUI_BUTTON_STATE_HIDDEN | + wxAUI_BUTTON_STATE_DISABLED))) { if (hit) *hit = &button; @@ -1748,7 +1750,9 @@ bool wxAuiTabContainer::ButtonHitTest(int x, int y, for (i = 0; i < button_count; ++i) { wxAuiTabContainerButton& button = m_tab_close_buttons.Item(i); - if (button.rect.Contains(x,y)) + if (button.rect.Contains(x,y) && + !(button.cur_state & (wxAUI_BUTTON_STATE_HIDDEN | + wxAUI_BUTTON_STATE_DISABLED))) { if (hit) *hit = &button; @@ -1873,7 +1877,7 @@ void wxAuiTabCtrl::OnLeftDown(wxMouseEvent& evt) wxWindow* wnd; if (TabHitTest(evt.m_x, evt.m_y, &wnd)) - { + { wxAuiNotebookEvent e(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING, m_windowId); e.SetSelection(GetIdxFromWindow(wnd)); e.SetOldSelection(GetActivePage());