release the mouse in wxGrid dtor to avoid asserts when the grid is destroyed during e.g. a cell selection operation

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-11-08 00:06:34 +00:00
parent dc8379e4d2
commit e882d28829

View File

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