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:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user