git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50387
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual wxDCImpl* CreatePrinterDC( wxPrinterDC *owner, const wxPrintData &data ) = 0;
#endif
virtual wxDCImpl* CreatePrinterDC( wxPrinterDC *owner, const wxPrintData &data ) = 0;
#endif
- static void SetDCFactory( wxDCFactory *factory );
+ static void Set(wxDCFactory *factory);
static wxDCFactory *Get();
private:
static wxDCFactory *Get();
private:
#ifndef WX_PRECOMP
#include "wx/math.h"
#ifndef WX_PRECOMP
#include "wx/math.h"
-#include "wx/msw/dcclient.h"
-#include "wx/msw/dcmemory.h"
-#include "wx/msw/dcscreen.h"
+ #include "wx/msw/dcclient.h"
+ #include "wx/msw/dcmemory.h"
+ #include "wx/msw/dcscreen.h"
-#include "wx/gtk/dcclient.h"
-#include "wx/gtk/dcmemory.h"
-#include "wx/gtk/dcscreen.h"
+ #include "wx/gtk/dcclient.h"
+ #include "wx/gtk/dcmemory.h"
+ #include "wx/gtk/dcscreen.h"
-#include "wx/mac/dcclient.h"
-#include "wx/mac/dcmemory.h"
-#include "wx/mac/dcscreen.h"
+ #include "wx/mac/dcclient.h"
+ #include "wx/mac/dcmemory.h"
+ #include "wx/mac/dcscreen.h"
-#include "wx/x11/dcclient.h"
-#include "wx/x11/dcmemory.h"
-#include "wx/x11/dcscreen.h"
+ #include "wx/x11/dcclient.h"
+ #include "wx/x11/dcmemory.h"
+ #include "wx/x11/dcscreen.h"
#endif
//----------------------------------------------------------------------------
#endif
//----------------------------------------------------------------------------
wxDCFactory *wxDCFactory::m_factory = NULL;
wxDCFactory *wxDCFactory::m_factory = NULL;
-void wxDCFactory::SetDCFactory( wxDCFactory *factory )
+void wxDCFactory::Set(wxDCFactory *factory)
- if (wxDCFactory::m_factory)
- delete wxDCFactory::m_factory;
- wxDCFactory::m_factory = factory;
}
wxDCFactory *wxDCFactory::Get()
{
}
wxDCFactory *wxDCFactory::Get()
{
- if (!wxDCFactory::m_factory)
- wxDCFactory::m_factory = new wxNativeDCFactory;
+ if ( !m_factory )
+ m_factory = new wxNativeDCFactory;
- return wxDCFactory::m_factory;
+class wxDCFactoryCleanupModule : public wxModule
+{
+public:
+ virtual bool OnInit() { return true; }
+ virtual void OnExit() { wxDCFactory::Set(NULL); }
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxDCFactoryCleanupModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxDCFactoryCleanupModule, wxModule)
+
//-----------------------------------------------------------------------------
// wxNativeDCFactory
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// wxNativeDCFactory
//-----------------------------------------------------------------------------