From 5d1d4c98c0185a368e0994e714a55d077abe1c03 Mon Sep 17 00:00:00 2001 From: "warren%netscape.com" Date: Sat, 3 Jul 1999 08:56:26 +0000 Subject: [PATCH] Fix for necko crash trying to load pages with images. git-svn-id: svn://10.0.0.236/trunk@38268 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/base/nsPresContext.cpp | 22 ++++++++++++++++------ mozilla/layout/base/src/nsPresContext.cpp | 22 ++++++++++++++++------ 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/mozilla/layout/base/nsPresContext.cpp b/mozilla/layout/base/nsPresContext.cpp index 921fd3bd74f..7595aac0ad7 100644 --- a/mozilla/layout/base/nsPresContext.cpp +++ b/mozilla/layout/base/nsPresContext.cpp @@ -27,7 +27,9 @@ #include "nsIRenderingContext.h" #include "nsEventStateManager.h" #include "nsIURL.h" -#ifndef NECKO +#ifdef NECKO +#include "nsILoadGroup.h" +#else #include "nsIURLGroup.h" #endif #include "nsIDocument.h" @@ -701,16 +703,24 @@ nsPresContext::GetImageGroup(nsIImageGroup** aResult) return rv; } -#ifndef NECKO // Initialize the image group - nsCOMPtr LoadGroup; - rv = mBaseURL->GetLoadGroup(getter_AddRefs(LoadGroup)); + nsCOMPtr loadGroup; +#ifdef NECKO + nsCOMPtr doc; + if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) { + NS_ASSERTION(doc, "expect document here"); + if (doc) { + loadGroup = doc->GetDocumentLoadGroup(); + } + } +#else + rv = mBaseURL->GetLoadGroup(getter_AddRefs(loadGroup)); +#endif if (rv == NS_OK) - rv = mImageGroup->Init(mDeviceContext, LoadGroup); + rv = mImageGroup->Init(mDeviceContext, loadGroup); if (NS_OK != rv) { return rv; } -#endif } *aResult = mImageGroup; diff --git a/mozilla/layout/base/src/nsPresContext.cpp b/mozilla/layout/base/src/nsPresContext.cpp index 921fd3bd74f..7595aac0ad7 100644 --- a/mozilla/layout/base/src/nsPresContext.cpp +++ b/mozilla/layout/base/src/nsPresContext.cpp @@ -27,7 +27,9 @@ #include "nsIRenderingContext.h" #include "nsEventStateManager.h" #include "nsIURL.h" -#ifndef NECKO +#ifdef NECKO +#include "nsILoadGroup.h" +#else #include "nsIURLGroup.h" #endif #include "nsIDocument.h" @@ -701,16 +703,24 @@ nsPresContext::GetImageGroup(nsIImageGroup** aResult) return rv; } -#ifndef NECKO // Initialize the image group - nsCOMPtr LoadGroup; - rv = mBaseURL->GetLoadGroup(getter_AddRefs(LoadGroup)); + nsCOMPtr loadGroup; +#ifdef NECKO + nsCOMPtr doc; + if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) { + NS_ASSERTION(doc, "expect document here"); + if (doc) { + loadGroup = doc->GetDocumentLoadGroup(); + } + } +#else + rv = mBaseURL->GetLoadGroup(getter_AddRefs(loadGroup)); +#endif if (rv == NS_OK) - rv = mImageGroup->Init(mDeviceContext, LoadGroup); + rv = mImageGroup->Init(mDeviceContext, loadGroup); if (NS_OK != rv) { return rv; } -#endif } *aResult = mImageGroup;