]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed bug in ButtonHitTest() which caused invisible buttons to be pressable
authorBenjamin Williams <bwilliams@kirix.com>
Wed, 8 Nov 2006 08:13:06 +0000 (08:13 +0000)
committerBenjamin Williams <bwilliams@kirix.com>
Wed, 8 Nov 2006 08:13:06 +0000 (08:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/aui/auibook.cpp

index 1d9711aa1c596adfaae3c8747acbc654ffbfea2c..53f00a42f72da042b30541b860c8565a530305fa 100644 (file)
@@ -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());