Mem leaks in connection with print factory code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2004-11-05 21:33:27 +00:00
parent 32b1391332
commit aac85509bd
2 changed files with 9 additions and 1 deletions

View File

@ -46,6 +46,7 @@
#include "wx/thread.h"
#include "wx/utils.h"
#include "wx/ptr_scpd.h"
#include "wx/prntbase.h"
#if defined(__WXMSW__) && !defined(__PALMOS__)
#include "wx/msw/private.h" // includes windows.h for LOGFONT
@ -139,6 +140,8 @@ void wxAppBase::CleanUp()
// but we want to delete them now
delete wxTopLevelWindows.GetFirst()->GetData();
}
wxPrintFactory::SetPrintFactory( NULL );
// undo everything we did in Initialize() above
wxBitmap::CleanUpHandlers();

View File

@ -237,7 +237,12 @@ void wxPrintData::operator=(const wxPrintData& data)
m_bin = data.m_bin;
m_printMode = data.m_printMode;
m_filename = data.m_filename;
// UnRef old m_nativeData
m_nativeData->m_ref--;
if (m_nativeData->m_ref == 0)
delete m_nativeData;
// Set Ref new one
m_nativeData = data.GetNativeData();
m_nativeData->m_ref++;