diff --git a/dom/src/base/nsGlobalWindow.cpp b/dom/src/base/nsGlobalWindow.cpp index 4b616526fd6..f276588ed3a 100644 --- a/dom/src/base/nsGlobalWindow.cpp +++ b/dom/src/base/nsGlobalWindow.cpp @@ -961,6 +961,12 @@ NS_IMETHODIMP GlobalWindowImpl::SetLocation(jsval aLocation) { nsresult result; + + if (!mLocation && mDocShell) { + mLocation = new LocationImpl(mDocShell); + NS_IF_ADDREF(mLocation); + } + if (mLocation) { nsCOMPtr stack(do_GetService("nsThreadJSContextStack")); NS_ENSURE_TRUE(stack, NS_ERROR_FAILURE);