diff --git a/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.cpp b/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.cpp index 507059a5b9e..2f6e67e9817 100644 --- a/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.cpp +++ b/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.cpp @@ -56,12 +56,13 @@ NS_INTERFACE_MAP_BEGIN(nsPrintProgress) NS_INTERFACE_MAP_END_THREADSAFE -nsPrintProgress::nsPrintProgress() +nsPrintProgress::nsPrintProgress(nsIPrintSettings* aPrintSettings) { m_closeProgress = PR_FALSE; m_processCanceled = PR_FALSE; m_pendingStateFlags = -1; m_pendingStateValue = 0; + m_PrintSetting = aPrintSettings; } nsPrintProgress::~nsPrintProgress() @@ -143,6 +144,8 @@ NS_IMETHODIMP nsPrintProgress::GetProcessCanceledByUser(PRBool *aProcessCanceled } NS_IMETHODIMP nsPrintProgress::SetProcessCanceledByUser(PRBool aProcessCanceledByUser) { + if(m_PrintSetting) + m_PrintSetting->SetIsCancelled(PR_TRUE); m_processCanceled = aProcessCanceledByUser; OnStateChange(nsnull, nsnull, nsIWebProgressListener::STATE_STOP, PR_FALSE); return NS_OK; diff --git a/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.h b/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.h index 3d01ab52370..e20612280b6 100644 --- a/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.h +++ b/mozilla/embedding/components/printingui/src/unixshared/nsPrintProgress.h @@ -41,6 +41,7 @@ #define __nsPrintProgress_h #include "nsIPrintProgress.h" +#include "nsIPrintingPromptService.h" #include "nsCOMPtr.h" #include "nsISupportsArray.h" @@ -57,7 +58,7 @@ public: NS_DECL_NSIWEBPROGRESSLISTENER NS_DECL_NSIPRINTSTATUSFEEDBACK - nsPrintProgress(); + nsPrintProgress(nsIPrintSettings* aPrintSettings); virtual ~nsPrintProgress(); private: @@ -71,6 +72,7 @@ private: nsCOMPtr m_dialog; nsCOMPtr m_listenerList; nsCOMPtr m_observer; + nsCOMPtr m_PrintSetting; }; #endif diff --git a/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp b/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp index 91f8358b6f5..0f5abf7e080 100644 --- a/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp +++ b/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp @@ -135,7 +135,7 @@ nsPrintingPromptService::ShowProgress(nsIDOMWindow* parent, *notifyOnOpen = PR_FALSE; - nsPrintProgress* prtProgress = new nsPrintProgress(); + nsPrintProgress* prtProgress = new nsPrintProgress(printSettings); nsresult rv = prtProgress->QueryInterface(NS_GET_IID(nsIPrintProgress), (void**)getter_AddRefs(mPrintProgress)); NS_ENSURE_SUCCESS(rv, rv);