From 166a497544272074f1e9f52fd811f6dad7e40fa9 Mon Sep 17 00:00:00 2001 From: Steven Michaud Date: Tue, 25 Mar 2014 11:32:58 -0500 Subject: [PATCH] Bug 986976 - do_QueryInterface abuse in various .mm files. r=neil --- widget/cocoa/nsDeviceContextSpecX.mm | 2 +- widget/cocoa/nsPrintDialogX.mm | 4 ++-- widget/cocoa/nsPrintOptionsX.mm | 4 ++-- widget/cocoa/nsPrintSettingsX.h | 7 +++++++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/widget/cocoa/nsDeviceContextSpecX.mm b/widget/cocoa/nsDeviceContextSpecX.mm index 13862abc834c..1c75ceddbcb6 100644 --- a/widget/cocoa/nsDeviceContextSpecX.mm +++ b/widget/cocoa/nsDeviceContextSpecX.mm @@ -43,7 +43,7 @@ NS_IMETHODIMP nsDeviceContextSpecX::Init(nsIWidget *aWidget, { NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT; - nsCOMPtr settings(do_QueryInterface(aPS)); + nsRefPtr settings(do_QueryObject(aPS)); if (!settings) return NS_ERROR_NO_INTERFACE; diff --git a/widget/cocoa/nsPrintDialogX.mm b/widget/cocoa/nsPrintDialogX.mm index d4a21ee0068f..7d75b845efc4 100644 --- a/widget/cocoa/nsPrintDialogX.mm +++ b/widget/cocoa/nsPrintDialogX.mm @@ -44,7 +44,7 @@ nsPrintDialogServiceX::Show(nsIDOMWindow *aParent, nsIPrintSettings *aSettings, NS_PRECONDITION(aSettings, "aSettings must not be null"); - nsCOMPtr settingsX(do_QueryInterface(aSettings)); + nsRefPtr 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 settingsX(do_QueryInterface(aNSSettings)); + nsRefPtr settingsX(do_QueryObject(aNSSettings)); if (!settingsX) return NS_ERROR_FAILURE; diff --git a/widget/cocoa/nsPrintOptionsX.mm b/widget/cocoa/nsPrintOptionsX.mm index 292fcc188663..63d19f009166 100644 --- a/widget/cocoa/nsPrintOptionsX.mm +++ b/widget/cocoa/nsPrintOptionsX.mm @@ -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 printSettingsX(do_QueryInterface(aPS)); + nsRefPtr 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 printSettingsX(do_QueryInterface(aPS)); + nsRefPtr printSettingsX(do_QueryObject(aPS)); if (!printSettingsX) return NS_ERROR_NO_INTERFACE; rv = printSettingsX->WritePageFormatToPrefs(); diff --git a/widget/cocoa/nsPrintSettingsX.h b/widget/cocoa/nsPrintSettingsX.h index f78fb9db9b46..9a239362655e 100644 --- a/widget/cocoa/nsPrintSettingsX.h +++ b/widget/cocoa/nsPrintSettingsX.h @@ -9,9 +9,14 @@ #include "nsPrintSettingsImpl.h" #import +#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_