]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't cache HDC used by wxPaintDCEx in wxMSW.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 9 Mar 2013 15:08:09 +0000 (15:08 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 9 Mar 2013 15:08:09 +0000 (15:08 +0000)
This avoids the problem with mistakenly using wrong HDC in wxBitmapComboBox
code which was due to assuming that we can only ever have one paint HDC for
the given window -- while in wxBitmapComboBox case we are passed different
HDCs for the same window via WM_DRAWITEM.

Instead of fixing the cache, just don't use it at all for wxPaintDCEx as we
don't gain anything from doing it anyhow.

Closes #14842.

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

src/msw/dcclient.cpp

index 112cf781f5993ecf35984c8ba91086dd08c133d2..1da0e015315e0fa29527dfcad63b8271445ba4ed 100644 (file)
@@ -377,15 +377,7 @@ wxPaintDCExImpl::wxPaintDCExImpl(wxDC *owner, wxWindow *window, WXHDC dc)
     wxCHECK_RET( dc, wxT("wxPaintDCEx requires an existing device context") );
 
     m_window = window;
-
-    m_hDC = FindDCInCache(m_window);
-    if ( !m_hDC )
-    {
-        // not in cache, record it there
-        gs_PaintDCInfos[m_window] = new wxPaintDCInfoExternal(dc);
-
-        m_hDC = dc;
-    }
+    m_hDC = dc;
 }
 
 wxPaintDCExImpl::~wxPaintDCExImpl()