]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed wxToolbar95::FindToolForPosition
authorMattia Barbon <mbarbon@cpan.org>
Mon, 24 Sep 2001 17:30:42 +0000 (17:30 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Mon, 24 Sep 2001 17:30:42 +0000 (17:30 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/tbar95.cpp

index 9bbd2d4ce10076d81479a55f78c2f6accde6ee3f..3c1a1b65321ef56c8aaac73ce4df601465d3338c 100644 (file)
@@ -196,6 +196,8 @@ void wxToolBar::Init()
 
     m_defaultWidth = DEFAULTBITMAPX;
     m_defaultHeight = DEFAULTBITMAPY;
 
     m_defaultWidth = DEFAULTBITMAPX;
     m_defaultHeight = DEFAULTBITMAPY;
+
+    m_pInTool = 0;
 }
 
 bool wxToolBar::Create(wxWindow *parent,
 }
 
 bool wxToolBar::Create(wxWindow *parent,
@@ -895,7 +897,9 @@ wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord x, wxCoord y) const
     pt.x = x;
     pt.y = y;
     int index = (int)::SendMessage(GetHwnd(), TB_HITTEST, 0, (LPARAM)&pt);
     pt.x = x;
     pt.y = y;
     int index = (int)::SendMessage(GetHwnd(), TB_HITTEST, 0, (LPARAM)&pt);
-    if ( index < 0 )
+    // MBN: when the point ( x, y ) is close to the toolbar border
+    //      TB_HITTEST returns m_nButtons ( not -1 )
+    if ( index < 0 || (size_t)index >= m_nButtons )
     {
         // it's a separator or there is no tool at all there
         return (wxToolBarToolBase *)NULL;
     {
         // it's a separator or there is no tool at all there
         return (wxToolBarToolBase *)NULL;