From 39191da677280fc5ef4d72fdd4f1170d19eddc2c Mon Sep 17 00:00:00 2001 From: "bryner%brianryner.com" Date: Sat, 8 Apr 2006 01:49:11 +0000 Subject: [PATCH] Back out patch for bug 332640 to fix regression bug 333051. r+sr+a=bzbarsky git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@193902 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/dom/src/base/nsScreen.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/mozilla/dom/src/base/nsScreen.cpp b/mozilla/dom/src/base/nsScreen.cpp index 7a1fa822dec..8f153e3476f 100644 --- a/mozilla/dom/src/base/nsScreen.cpp +++ b/mozilla/dom/src/base/nsScreen.cpp @@ -42,11 +42,11 @@ #include "nsIScriptGlobalObject.h" #include "nsIDocShell.h" #include "nsIDeviceContext.h" +#include "nsPresContext.h" #include "nsCOMPtr.h" +#include "nsIDocumentViewer.h" #include "nsIDocumentLoader.h" #include "nsDOMClassInfo.h" -#include "nsIBaseWindow.h" -#include "nsIWidget.h" // @@ -202,23 +202,21 @@ nsScreen::GetDeviceContext() if(!mDocShell) return nsnull; - nsCOMPtr baseWindow = do_QueryInterface(mDocShell); - if (!baseWindow) + nsCOMPtr contentViewer; + mDocShell->GetContentViewer(getter_AddRefs(contentViewer)); + + nsCOMPtr docViewer(do_QueryInterface(contentViewer)); + if(!docViewer) return nsnull; - nsCOMPtr widget; - baseWindow->GetMainWidget(getter_AddRefs(widget)); - if (!widget) - return nsnull; + nsCOMPtr presContext; + docViewer->GetPresContext(getter_AddRefs(presContext)); - // nsIWidget::GetDeviceContext addrefs, this method doesn't. - // Release before returning the pointer. - nsIDeviceContext *dc = widget->GetDeviceContext(); - if (!dc) - return nsnull; + nsIDeviceContext* context = nsnull; + if(presContext) + context = presContext->DeviceContext(); - dc->Release(); - return dc; + return context; } nsresult