Bug 986976 - do_QueryInterface abuse in various .mm files. r=neil

This commit is contained in:
Steven Michaud 2014-03-25 11:32:58 -05:00
parent a844a7ae48
commit 166a497544
4 changed files with 12 additions and 5 deletions

View File

@ -43,7 +43,7 @@ NS_IMETHODIMP nsDeviceContextSpecX::Init(nsIWidget *aWidget,
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
nsCOMPtr<nsPrintSettingsX> settings(do_QueryInterface(aPS));
nsRefPtr<nsPrintSettingsX> settings(do_QueryObject(aPS));
if (!settings)
return NS_ERROR_NO_INTERFACE;

View File

@ -44,7 +44,7 @@ nsPrintDialogServiceX::Show(nsIDOMWindow *aParent, nsIPrintSettings *aSettings,
NS_PRECONDITION(aSettings, "aSettings must not be null");
nsCOMPtr<nsPrintSettingsX> settingsX(do_QueryInterface(aSettings));
nsRefPtr<nsPrintSettingsX> settingsX(do_QueryObject(aSettings));
if (!settingsX)
return NS_ERROR_FAILURE;
@ -127,7 +127,7 @@ nsPrintDialogServiceX::ShowPageSetup(nsIDOMWindow *aParent,
NS_PRECONDITION(aNSSettings, "aSettings must not be null");
NS_ENSURE_TRUE(aNSSettings, NS_ERROR_FAILURE);
nsCOMPtr<nsPrintSettingsX> settingsX(do_QueryInterface(aNSSettings));
nsRefPtr<nsPrintSettingsX> settingsX(do_QueryObject(aNSSettings));
if (!settingsX)
return NS_ERROR_FAILURE;

View File

@ -24,7 +24,7 @@ nsPrintOptionsX::ReadPrefs(nsIPrintSettings* aPS, const nsAString& aPrinterName,
rv = nsPrintOptions::ReadPrefs(aPS, aPrinterName, aFlags);
NS_ASSERTION(NS_SUCCEEDED(rv), "nsPrintOptions::ReadPrefs() failed");
nsCOMPtr<nsPrintSettingsX> printSettingsX(do_QueryInterface(aPS));
nsRefPtr<nsPrintSettingsX> printSettingsX(do_QueryObject(aPS));
if (!printSettingsX)
return NS_ERROR_NO_INTERFACE;
rv = printSettingsX->ReadPageFormatFromPrefs();
@ -59,7 +59,7 @@ nsPrintOptionsX::WritePrefs(nsIPrintSettings* aPS, const nsAString& aPrinterName
rv = nsPrintOptions::WritePrefs(aPS, aPrinterName, aFlags);
NS_ASSERTION(NS_SUCCEEDED(rv), "nsPrintOptions::WritePrefs() failed");
nsCOMPtr<nsPrintSettingsX> printSettingsX(do_QueryInterface(aPS));
nsRefPtr<nsPrintSettingsX> printSettingsX(do_QueryObject(aPS));
if (!printSettingsX)
return NS_ERROR_NO_INTERFACE;
rv = printSettingsX->WritePageFormatToPrefs();

View File

@ -9,9 +9,14 @@
#include "nsPrintSettingsImpl.h"
#import <Cocoa/Cocoa.h>
#define NS_PRINTSETTINGSX_IID \
{ 0x0DF2FDBD, 0x906D, 0x4726, \
{ 0x9E, 0x4D, 0xCF, 0xE0, 0x87, 0x8D, 0x70, 0x7C } }
class nsPrintSettingsX : public nsPrintSettings
{
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_PRINTSETTINGSX_IID)
NS_DECL_ISUPPORTS_INHERITED
nsPrintSettingsX();
@ -45,4 +50,6 @@ protected:
NSPrintInfo* mPrintInfo;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsPrintSettingsX, NS_PRINTSETTINGSX_IID)
#endif // nsPrintSettingsX_h_