From 1a47d5cb1f533730803ebbfe6ea9c6b7d7674d76 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 2 Aug 2011 19:41:38 +0000 Subject: [PATCH] Revert r68416 which should not have been committed to this tag. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_2@68490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/printdlg.h | 2 -- src/msw/printdlg.cpp | 36 +++++++++++------------------------- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/include/wx/msw/printdlg.h b/include/wx/msw/printdlg.h index bcca2b91e9..754e212f9f 100644 --- a/include/wx/msw/printdlg.h +++ b/include/wx/msw/printdlg.h @@ -20,7 +20,6 @@ #include "wx/printdlg.h" class WXDLLIMPEXP_FWD_CORE wxDC; -class WinPrinter; //---------------------------------------------------------------------------- // wxWindowsPrintNativeData @@ -38,7 +37,6 @@ public: virtual bool Ok() const { return IsOk(); } virtual bool IsOk() const; - void InitializeDevMode(const wxString &printerName = wxEmptyString, WinPrinter* printer = NULL); void* GetDevMode() const { return m_devMode; } void SetDevMode(void* data) { m_devMode = data; } void* GetDevNames() const { return m_devNames; } diff --git a/src/msw/printdlg.cpp b/src/msw/printdlg.cpp index fac6fdf743..205009999b 100644 --- a/src/msw/printdlg.cpp +++ b/src/msw/printdlg.cpp @@ -192,9 +192,6 @@ bool wxWindowsPrintNativeData::IsOk() const bool wxWindowsPrintNativeData::TransferTo( wxPrintData &data ) { - if ( !m_devMode ) - InitializeDevMode(); - if ( !m_devMode ) return false; @@ -386,21 +383,20 @@ bool wxWindowsPrintNativeData::TransferTo( wxPrintData &data ) return true; } -void wxWindowsPrintNativeData::InitializeDevMode(const wxString& printerName, WinPrinter* printer) +bool wxWindowsPrintNativeData::TransferFrom( const wxPrintData &data ) { - if (m_devMode) - return; - - LPTSTR szPrinterName = (LPTSTR)printerName.wx_str(); + HGLOBAL hDevMode = static_cast(m_devMode); + WinPrinter printer; + LPTSTR szPrinterName = (LPTSTR)data.GetPrinterName().wx_str(); // From MSDN: How To Modify Printer Settings with the DocumentProperties() Function // The purpose of this is to fill the DEVMODE with privdata from printer driver. // If we have a printer name and OpenPrinter sucessfully returns // this replaces the PrintDlg function which creates the DEVMODE filled only with data from default printer. - if ( !m_devMode && !printerName.IsEmpty() ) + if ( !m_devMode && !data.GetPrinterName().IsEmpty() ) { // Open printer - if ( printer && printer->Open( printerName ) == TRUE ) + if ( printer.Open( data.GetPrinterName() ) == TRUE ) { DWORD dwNeeded, dwRet; @@ -428,11 +424,12 @@ void wxWindowsPrintNativeData::InitializeDevMode(const wxString& printerName, Wi { // If failure, cleanup GlobalFree( tempDevMode ); - printer->Close(); + printer.Close(); } else { - m_devMode = tempDevMode; + hDevMode = tempDevMode; + m_devMode = hDevMode; tempDevMode = NULL; } } @@ -474,7 +471,8 @@ void wxWindowsPrintNativeData::InitializeDevMode(const wxString& printerName, Wi } else { - m_devMode = pd.hDevMode; + hDevMode = pd.hDevMode; + m_devMode = hDevMode; pd.hDevMode = NULL; // We'll create a new DEVNAMEs structure below. @@ -489,18 +487,6 @@ void wxWindowsPrintNativeData::InitializeDevMode(const wxString& printerName, Wi } } -} - -bool wxWindowsPrintNativeData::TransferFrom( const wxPrintData &data ) -{ - WinPrinter printer; - LPTSTR szPrinterName = (LPTSTR)data.GetPrinterName().wx_str(); - - if (!m_devMode) - InitializeDevMode(data.GetPrinterName(), &printer); - - HGLOBAL hDevMode = static_cast(m_devMode); - if ( hDevMode ) { GlobalPtrLock lockDevMode(hDevMode);