]> git.saurik.com Git - wxWidgets.git/commitdiff
added tracing of ReleaseMouse and assertion to prevent releasing window with mouse...
authorVáclav Slavík <vslavik@fastmail.fm>
Sun, 20 Jan 2002 11:27:38 +0000 (11:27 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sun, 20 Jan 2002 11:27:38 +0000 (11:27 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/wincmn.cpp

index 2b63369661c55bc655391241efccbe6877cc8a0f..c6a369eb14aa158cfe15372e16c6d3ea98dd8e09 100644 (file)
@@ -214,6 +214,8 @@ bool wxWindowBase::CreateBase(wxWindowBase *parent,
 // common clean up
 wxWindowBase::~wxWindowBase()
 {
 // common clean up
 wxWindowBase::~wxWindowBase()
 {
+    wxASSERT_MSG( GetCapture() != this, wxT("attempt to destroy window with mouse capture") );
+
     // FIXME if these 2 cases result from programming errors in the user code
     //       we should probably assert here instead of silently fixing them
 
     // FIXME if these 2 cases result from programming errors in the user code
     //       we should probably assert here instead of silently fixing them
 
@@ -1625,7 +1627,7 @@ struct WXDLLEXPORT wxWindowNext
 void wxWindowBase::CaptureMouse()
 {
     wxLogTrace(_T("mousecapture"), _T("CaptureMouse(0x%08x)"), this);
 void wxWindowBase::CaptureMouse()
 {
     wxLogTrace(_T("mousecapture"), _T("CaptureMouse(0x%08x)"), this);
-
+    
     wxWindow *winOld = GetCapture();
     if ( winOld )
     {
     wxWindow *winOld = GetCapture();
     if ( winOld )
     {
@@ -1642,6 +1644,8 @@ void wxWindowBase::CaptureMouse()
 
 void wxWindowBase::ReleaseMouse()
 {
 
 void wxWindowBase::ReleaseMouse()
 {
+    wxLogTrace(_T("mousecapture"), _T("ReleaseMouse(0x%08x)"), this);
+
     DoReleaseMouse();
 
     if ( ms_winCaptureNext )
     DoReleaseMouse();
 
     if ( ms_winCaptureNext )