m_windowExtX = VIEWPORT_EXTENT;
m_windowExtY = VIEWPORT_EXTENT;
-
- m_hDCCount = 0;
}
wxDC::~wxDC()
{
- if ( m_hDC != 0 ) {
+ if ( m_hDC != 0 )
+ {
SelectOldObjects(m_hDC);
- if ( m_bOwnsDC ) {
- if ( m_canvas == NULL )
- ::DeleteDC(GetHdc());
+
+ // if we own the HDC, we delete it, otherwise we just release it
+
+ if ( m_bOwnsDC )
+ {
+ ::DeleteDC(GetHdc());
+ }
+ else // we don't own our HDC
+ {
+ if (m_canvas)
+ {
+ ::ReleaseDC(GetHwndOf(m_canvas), GetHdc());
+ }
else
- ::ReleaseDC((HWND)m_canvas->GetHWND(), GetHdc());
+ {
+ // Must have been a wxScreenDC
+ ::ReleaseDC((HWND) NULL, GetHdc());
+ }
}
}
-
}
// This will select current objects out of the DC,