]> git.saurik.com Git - wxWidgets.git/commitdiff
release the mouse in wxGrid dtor to avoid asserts when the grid is destroyed during...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 8 Nov 2008 00:06:34 +0000 (00:06 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 8 Nov 2008 00:06:34 +0000 (00:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/grid.cpp

index a5978ae75d7a6108e334f5c6d40bbbe07992da11..491b2c21bd7526a5065ebaa2b9c7fc4f51c861c9 100644 (file)
@@ -4520,6 +4520,9 @@ bool wxGrid::Create(wxWindow *parent, wxWindowID id,
 
 wxGrid::~wxGrid()
 {
+    if ( m_winCapture )
+        m_winCapture->ReleaseMouse();
+
     // Ensure that the editor control is destroyed before the grid is,
     // otherwise we crash later when the editor tries to do something with the
     // half destroyed grid
@@ -6168,8 +6171,7 @@ void wxGrid::ChangeCursorMode(CursorMode mode,
 
     if ( m_winCapture )
     {
-        if (m_winCapture->HasCapture())
-            m_winCapture->ReleaseMouse();
+        m_winCapture->ReleaseMouse();
         m_winCapture = NULL;
     }
 
@@ -6396,8 +6398,7 @@ wxGrid::DoGridCellLeftUp(wxMouseEvent& event, const wxGridCellCoords& coords)
     {
         if (m_winCapture)
         {
-            if (m_winCapture->HasCapture())
-                m_winCapture->ReleaseMouse();
+            m_winCapture->ReleaseMouse();
             m_winCapture = NULL;
         }