From a599423672b5c043349b60827416275739b717ea Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 8 May 2007 20:10:47 +0000 Subject: [PATCH] Prevent segfaulting if a NULL window is passed to the DCs, avoid reasserting if the base class already did it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@45895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/dcclient.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp index a3681ed4d0..3d720d3376 100644 --- a/src/gtk/dcclient.cpp +++ b/src/gtk/dcclient.cpp @@ -271,7 +271,7 @@ wxWindowDC::wxWindowDC() wxWindowDC::wxWindowDC( wxWindow *window ) { - wxASSERT_MSG( window, wxT("DC needs a window") ); + wxCHECK_RET( window, wxT("DC needs a window") ); m_penGC = (GdkGC *) NULL; m_brushGC = (GdkGC *) NULL; @@ -2446,6 +2446,9 @@ wxPaintDC::wxPaintDC( wxWindow *win ) : wxClientDC( win ) { #if USE_PAINT_REGION + if (!win) // the base class already asserted... + return; + if (!win->m_clipPaintRegion) return; @@ -2479,7 +2482,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC) wxClientDC::wxClientDC( wxWindow *win ) : wxWindowDC( win ) { - wxCHECK_RET( win, _T("NULL window in wxClientDC::wxClientDC") ); + if (!win) // the base class already asserted... + return; #ifdef __WXUNIVERSAL__ wxPoint ptOrigin = win->GetClientAreaOrigin();