]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't update scrollbars when the window is being destroyed in wxOSX.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 5 Nov 2010 21:39:29 +0000 (21:39 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 5 Nov 2010 21:39:29 +0000 (21:39 +0000)
Updating scrollbars for a window that is being destroyed anyhow is useless and
resulted in crashes in the htlbox sample because it used client-to-screen
coordinates conversion which asserted because the TLW was invalid any more and
this unexpected assert during window destruction led to a crash.

Simply don't do it at all to avoid the problem.

Closes #11776.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/window_osx.cpp

index f69b1b717c5f54d0d05edc695ad9cfd03e484ca0..25b9abea3a6ae07b2130eb369bbde5246b81ac61 100644 (file)
@@ -1585,6 +1585,12 @@ void wxWindowMac::SetScrollbar(int orient, int pos, int thumb,
                                int range, bool refresh)
 {
 #if wxUSE_SCROLLBAR
+    // Updating scrollbars when window is being deleted is useless and
+    // currently results in asserts in client-to-screen coordinates conversion
+    // code which is used by DoUpdateScrollbarVisibility() so just skip it.
+    if ( m_isBeingDeleted )
+        return;
+
     if ( orient == wxHORIZONTAL && m_hScrollBar )
         m_hScrollBar->SetScrollbar(pos, thumb, range, thumb, refresh);
     else if ( orient == wxVERTICAL && m_vScrollBar )