]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/dcclient.cpp
Don't omit empty text objects
[wxWidgets.git] / src / gtk1 / dcclient.cpp
index 498f19623a16fed8e3c1c9b18397ac9f423e4265..7046368d6c6a625e1aeb3cb6d27116ffbbd1632f 100644 (file)
@@ -1143,8 +1143,11 @@ bool wxWindowDCImpl::DoBlit( wxCoord xdest, wxCoord ydest,
     xsrc = source->LogicalToDeviceX(xsrc);
     ysrc = source->LogicalToDeviceY(ysrc);
 
     xsrc = source->LogicalToDeviceX(xsrc);
     ysrc = source->LogicalToDeviceY(ysrc);
 
-    wxClientDCImpl *srcDC = (wxClientDCImpl*)source->GetImpl();
-    wxMemoryDCImpl *memDC = (wxMemoryDCImpl*)source;
+    wxWindowDCImpl *srcDC = wxDynamicCast(source->GetImpl(), wxWindowDCImpl);
+    wxCHECK_MSG( srcDC, false, "source must be a window DC" );
+
+    // FIXME: this cast is not always valid, see the code using m_isMemDC
+    wxMemoryDCImpl *memDC = wx_static_cast(wxMemoryDCImpl *, srcDC);
 
     bool use_bitmap_method = false;
     bool is_mono = false;
 
     bool use_bitmap_method = false;
     bool is_mono = false;