X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/223d09f6b523aac674ef9b72a883dfa8d37c5d4e..0767cb6f445806aaddd49014dca21d39cb4b3688:/src/msw/dcclient.cpp?ds=sidebyside diff --git a/src/msw/dcclient.cpp b/src/msw/dcclient.cpp index ec20193357..483fd55376 100644 --- a/src/msw/dcclient.cpp +++ b/src/msw/dcclient.cpp @@ -62,11 +62,9 @@ WX_DEFINE_OBJARRAY(wxArrayDCInfo); // macros // ---------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC) IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC) IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxWindowDC) -#endif // ---------------------------------------------------------------------------- // global variables @@ -112,7 +110,7 @@ wxWindowDC::~wxWindowDC() if ( !::ReleaseDC(GetWinHwnd(m_canvas), GetHdc()) ) { - wxLogLastError("ReleaseDC"); + wxLogLastError(wxT("ReleaseDC")); } m_hDC = 0; @@ -234,6 +232,11 @@ wxPaintDC::~wxPaintDC() ::EndPaint(GetWinHwnd(m_canvas), &g_paintStruct); ms_cache.Remove(index); + + // Reduce the number of bogus reports of non-freed memory + // at app exit + if (ms_cache.IsEmpty()) + ms_cache.Clear(); } //else: cached DC entry is still in use