From 4e382b613620bae4e5a0368ce8b1b50f8f1cdfbc Mon Sep 17 00:00:00 2001 From: "rods%netscape.com" Date: Tue, 8 Oct 2002 10:46:27 +0000 Subject: [PATCH] safety checks for null pointers Bug 172783 r=dcone sr=kin git-svn-id: svn://10.0.0.236/trunk@131421 18797224-902f-48f8-a5cc-f745e15eee43 --- .../printingui/src/mac/nsPrintingPromptService.cpp | 10 +++++++--- .../printingui/src/mac/nsPrintingPromptServiceX.cpp | 10 +++++++--- .../printingui/src/os2/nsPrintingPromptService.cpp | 9 ++++++--- .../src/unixshared/nsPrintingPromptService.cpp | 9 ++++++--- 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptService.cpp b/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptService.cpp index 51154552ce6..38df51ea2a6 100644 --- a/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptService.cpp +++ b/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptService.cpp @@ -509,11 +509,15 @@ nsPrintingPromptService::ShowPrinterProperties(nsIDOMWindow *parent, const PRUni NS_IMETHODIMP nsPrintingPromptService::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, PRUint32 aStateFlags, nsresult aStatus) { - if (aStateFlags & STATE_STOP) + if ((aStateFlags & STATE_STOP) && mWebProgressListener) { mWebProgressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus); - mPrintProgress->CloseProgressDialog(PR_TRUE); - mPrintProgress = nsnull; + if (mPrintProgress) + { + mPrintProgress->CloseProgressDialog(PR_TRUE); + } + mPrintProgress = nsnull; + mWebProgressListener = nsnull; } return NS_OK; } diff --git a/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptServiceX.cpp b/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptServiceX.cpp index ffebc4bee7e..f0d3dbaa0bc 100644 --- a/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptServiceX.cpp +++ b/mozilla/embedding/components/printingui/src/mac/nsPrintingPromptServiceX.cpp @@ -370,11 +370,15 @@ nsPrintingPromptService::ShowPrinterProperties(nsIDOMWindow *parent, const PRUni NS_IMETHODIMP nsPrintingPromptService::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, PRUint32 aStateFlags, nsresult aStatus) { - if (aStateFlags & STATE_STOP) + if ((aStateFlags & STATE_STOP) && mWebProgressListener) { mWebProgressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus); - mPrintProgress->CloseProgressDialog(PR_TRUE); - mPrintProgress = nsnull; + if (mPrintProgress) + { + mPrintProgress->CloseProgressDialog(PR_TRUE); + } + mPrintProgress = nsnull; + mWebProgressListener = nsnull; } return NS_OK; } diff --git a/mozilla/embedding/components/printingui/src/os2/nsPrintingPromptService.cpp b/mozilla/embedding/components/printingui/src/os2/nsPrintingPromptService.cpp index 10398e083f4..b0cc61239d8 100644 --- a/mozilla/embedding/components/printingui/src/os2/nsPrintingPromptService.cpp +++ b/mozilla/embedding/components/printingui/src/os2/nsPrintingPromptService.cpp @@ -285,10 +285,13 @@ nsPrintingPromptService::DoDialog(nsIDOMWindow *aParent, NS_IMETHODIMP nsPrintingPromptService::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, PRUint32 aStateFlags, nsresult aStatus) { - if (aStateFlags & STATE_STOP) { + if ((aStateFlags & STATE_STOP) && mWebProgressListener) { mWebProgressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus); - mPrintProgress->CloseProgressDialog(PR_TRUE); - mPrintProgress = nsnull; + if (mPrintProgress) { + mPrintProgress->CloseProgressDialog(PR_TRUE); + } + mPrintProgress = nsnull; + mWebProgressListener = nsnull; } return NS_OK; } diff --git a/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp b/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp index 60171181e34..99405969970 100644 --- a/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp +++ b/mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp @@ -291,10 +291,13 @@ nsPrintingPromptService::DoDialog(nsIDOMWindow *aParent, NS_IMETHODIMP nsPrintingPromptService::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, PRUint32 aStateFlags, nsresult aStatus) { - if (aStateFlags & STATE_STOP) { + if ((aStateFlags & STATE_STOP) && mWebProgressListener) { mWebProgressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus); - mPrintProgress->CloseProgressDialog(PR_TRUE); - mPrintProgress = nsnull; + if (mPrintProgress) { + mPrintProgress->CloseProgressDialog(PR_TRUE); + } + mPrintProgress = nsnull; + mWebProgressListener = nsnull; } return NS_OK; }