+// ----------------------------------------------------------------------------
+// wxPaintDC
+// ----------------------------------------------------------------------------
+
+// VZ: initial implementation (by JACS) only remembered the last wxPaintDC
+// created and tried to reuse it - this was supposed to take care of a
+// situation when a derived class OnPaint() calls base class OnPaint()
+// because in this case ::BeginPaint() shouldn't be called second time.
+//
+// I'm not sure how useful this is, however we must remember the HWND
+// associated with the last HDC as well - otherwise we may (and will!) try
+// to reuse the HDC for another HWND which is a nice recipe for disaster.
+//
+// So we store a list of windows for which we already have the DC and not
+// just one single hDC. This seems to work, but I'm really not sure about
+// the usefullness of the whole idea - IMHO it's much better to not call
+// base class OnPaint() at all, or, if we really want to allow it, add a
+// "wxPaintDC *" parameter to wxPaintEvent which should be used if it's
+// !NULL instead of creating a new DC.
+
+wxArrayDCInfo wxPaintDC::ms_cache;
+
+wxPaintDC::wxPaintDC()