Closed Bug 765662 Opened 12 years ago Closed 7 years ago

Assigning already_AddRefed<Selection> to nsCOMPtr<nsISelection> doesn't work

Categories

(Core :: XPCOM, defect)

x86
Linux
defect
Not set
minor

Tracking

()

RESOLVED DUPLICATE of bug 857645

People

(Reporter: ayg, Unassigned)

Details

Attachments

(1 file)

See bug 762841 for context.  Basically, we had a method

  nsresult GetSelection(PRInt16, nsISelection**);

and I added a new variant

  already_AddRefed<Selection> GetSelection(PRInt16);

where Selection is a concrete class that extends nsISelection.  There was lots of existing code that did

  nsCOMPtr<nsISelection> selection;
  res = selCon->GetSelection(type, getter_AddRefs(selection));

and I tried to change it to

  nsCOMPtr<nsISelection> selection =
    selCon->GetSelection(type);

but I got an error, even if I included mozilla/Selection.h (so the compiler knew that Selection is derived from nsISelection).  I don't have the exact error message handy right now, since this was a while ago.  I've been told this is a bug.
Attached patch Patch v1Splinter Review
Does this work?
Attachment #633964 - Flags: feedback?(ayg)
Here's the gcc error message, FTR:


In file included from /mnt/extra/checkouts/mozilla-central/content/base/src/nsContentAreaDragDrop.h:1
0:0,
                 from /mnt/extra/checkouts/mozilla-central/content/base/src/nsContentAreaDragDrop.cpp
:9:
../../../dist/include/nsCOMPtr.h: In member function ‘already_AddRefed<T>::operator already_AddRefed<
U>() [with U = nsISelection, T = mozilla::Selection]’:
/mnt/extra/checkouts/mozilla-central/content/base/src/nsContentAreaDragDrop.cpp:380:70:   instantiate
d from here
../../../dist/include/nsCOMPtr.h:170:16: error: cannot convert ‘mozilla::Selection*’ to ‘nsISelection
*’ in initialization

I'll test your patch, just a sec.
Your patch works.  Thanks!
Well -- it built successfully.  I'm not sure it actually works.  When I try to run tests with this patch together with the patch I was trying to get to work, I get lots of stuff like

###!!! ASSERTION: User did not call nsIContentViewer::Destroy: '!mPresShell && !mPresContext', file /mnt/extra/checkouts/mozilla-central/layout/base/nsDocumentViewer.cpp, line 566
~DocumentViewerImpl (/mnt/extra/checkouts/mozilla-central/layout/base/nsDocumentViewer.cpp:565)
operator delete (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/layout/base/../../dist/include/mozilla/mozalloc.h:224)
DocumentViewerImpl::Release() (/mnt/extra/checkouts/mozilla-central/layout/base/nsDocumentViewer.cpp:544)
~nsCOMPtr (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/layout/tools/layout-debug/src/../../../../dist/include/nsCOMPtr.h:487)
nsDocShell::CreateAboutBlankContentViewer(nsIPrincipal*, nsIURI*, bool) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6636)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6519)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:939)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDOMDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/dom/base/../../dist/include/nsCOMPtr.h:1200)
nsPIDOMWindow::EnsureInnerWindow() (/mnt/extra/checkouts/mozilla-central/dom/base/nsPIDOMWindow.h:325)
XPCConvert::NativeInterface2JSObject(XPCLazyCallContext&, JS::Value*, nsIXPConnectJSObjectHolder**, xpcObjectHelper&, nsID const*, XPCNativeInterface**, bool, unsigned int*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCConvert.cpp:876)
XPCConvert::NativeData2JS(XPCLazyCallContext&, JS::Value*, void const*, nsXPTType const&, nsID const*, unsigned int*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCConvert.cpp:323)
XPCConvert::NativeData2JS(XPCCallContext&, JS::Value*, void const*, nsXPTType const&, nsID const*, unsigned int*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/xpcprivate.h:3247)
nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedJS.cpp:579)
PrepareAndDispatch (/mnt/extra/checkouts/mozilla-central/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:62)
nsObserverList::NotifyObservers(nsISupports*, char const*, unsigned short const*) (/mnt/extra/checkouts/mozilla-central/xpcom/ds/nsObserverList.cpp:98)
nsObserverService::NotifyObservers(nsISupports*, char const*, unsigned short const*) (/mnt/extra/checkouts/mozilla-central/xpcom/ds/nsObserverService.cpp:149)
~nsCOMPtr (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/embedding/components/windowwatcher/src/../../../../dist/include/nsCOMPtr.h:829)
nsAppShellService::RegisterTopLevelWindow(nsIXULWindow*) (/mnt/extra/checkouts/mozilla-central/xpfe/appshell/src/nsAppShellService.cpp:472)
nsAppShellService::CreateTopLevelWindow(nsIXULWindow*, nsIURI*, unsigned int, int, int, nsIXULWindow**) (/mnt/extra/checkouts/mozilla-central/xpfe/appshell/src/nsAppShellService.cpp:153)
nsAppStartup::CreateChromeWindow2(nsIWebBrowserChrome*, unsigned int, unsigned int, nsIURI*, bool*, nsIWebBrowserChrome**) (/mnt/extra/checkouts/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:626)
nsWindowWatcher::OpenWindowJSInternal(nsIDOMWindow*, char const*, char const*, char const*, bool, nsIArray*, bool, nsIDOMWindow**) (/mnt/extra/checkouts/mozilla-central/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:696)
nsWindowWatcher::OpenWindow(nsIDOMWindow*, char const*, char const*, char const*, nsISupports*, nsIDOMWindow**) (/mnt/extra/checkouts/mozilla-central/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:381)
NS_InvokeByIndex_P (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/dist/bin/libxul.so)
CallMethodHelper::Invoke() (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:3095)
XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:2389)
XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1500)
CallJSNative (/mnt/extra/checkouts/mozilla-central/js/src/jscntxtinlines.h:395)
js::InvokeKernel(JSContext*, js::CallArgs, js::MaybeConstruct) (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:311)
js::Interpret(JSContext*, js::StackFrame*, js::InterpMode) (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:2435)
~CheckStackBalance (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:3957)
js::CallReceiver::rval() const (/mnt/extra/checkouts/mozilla-central/js/src/vm/Stack.h:186)
Invoke (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:355)
JS_CallFunctionValue (/mnt/extra/checkouts/mozilla-central/js/src/jsapi.cpp:5488)
nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedJSClass.cpp:1477)
nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedJS.cpp:579)
PrepareAndDispatch (/mnt/extra/checkouts/mozilla-central/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:62)
EnumRun (/mnt/extra/checkouts/mozilla-central/toolkit/components/commandlines/nsCommandLine.cpp:622)
nsCommandLine::EnumerateHandlers(unsigned int (*)(nsICommandLineHandler*, nsICommandLine*, void*), void*) (/mnt/extra/checkouts/mozilla-central/toolkit/components/commandlines/nsCommandLine.cpp:560)
nsCommandLine::Run() (/mnt/extra/checkouts/mozilla-central/toolkit/components/commandlines/nsCommandLine.cpp:634)
XREMain::XRE_mainRun() (/mnt/extra/checkouts/mozilla-central/toolkit/xre/nsAppRunner.cpp:3755)
XREMain::XRE_main(int, char**, nsXREAppData const*) (/mnt/extra/checkouts/mozilla-central/toolkit/xre/nsAppRunner.cpp:3862)
~XREMain (/mnt/extra/checkouts/mozilla-central/toolkit/xre/nsAppRunner.cpp:2715)
do_main (/mnt/extra/checkouts/mozilla-central/browser/app/nsBrowserApp.cpp:160)
++DOMWINDOW == 3 (0x405c4dcc) [serial = 3] [outer = 0x405c4680]
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /mnt/extra/checkouts/mozilla-central/layout/base/nsDocumentViewer.cpp, line 755
###!!! ASSERTION: ContentViewer Initialization failed: 'Error', file /mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp, line 7812
nsDocShell::SetupNewViewer(nsIContentViewer*) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:7812)
nsDocShell::Embed(nsIContentViewer*, char const*, nsISupports*) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:5895)
nsDocShell::CreateAboutBlankContentViewer(nsIPrincipal*, nsIURI*, bool) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6626)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6519)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6521)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:939)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDOMDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/dom/base/../../dist/include/nsCOMPtr.h:1200)
nsPIDOMWindow::EnsureInnerWindow() (/mnt/extra/checkouts/mozilla-central/dom/base/nsPIDOMWindow.h:325)
XPCConvert::NativeInterface2JSObject(XPCLazyCallContext&, JS::Value*, nsIXPConnectJSObjectHolder**, xpcObjectHelper&, nsID const*, XPCNativeInterface**, bool, unsigned int*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCConvert.cpp:876)
XPCConvert::NativeData2JS(XPCLazyCallContext&, JS::Value*, void const*, nsXPTType const&, nsID const*, unsigned int*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCConvert.cpp:323)
XPCConvert::NativeData2JS(XPCCallContext&, JS::Value*, void const*, nsXPTType const&, nsID const*, unsigned int*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/xpcprivate.h:3247)
nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedJS.cpp:579)
PrepareAndDispatch (/mnt/extra/checkouts/mozilla-central/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:62)
nsObserverList::NotifyObservers(nsISupports*, char const*, unsigned short const*) (/mnt/extra/checkouts/mozilla-central/xpcom/ds/nsObserverList.cpp:98)
nsObserverService::NotifyObservers(nsISupports*, char const*, unsigned short const*) (/mnt/extra/checkouts/mozilla-central/xpcom/ds/nsObserverService.cpp:149)
~nsCOMPtr (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/embedding/components/windowwatcher/src/../../../../dist/include/nsCOMPtr.h:829)
nsAppShellService::RegisterTopLevelWindow(nsIXULWindow*) (/mnt/extra/checkouts/mozilla-central/xpfe/appshell/src/nsAppShellService.cpp:472)
nsAppShellService::CreateTopLevelWindow(nsIXULWindow*, nsIURI*, unsigned int, int, int, nsIXULWindow**) (/mnt/extra/checkouts/mozilla-central/xpfe/appshell/src/nsAppShellService.cpp:153)
nsAppStartup::CreateChromeWindow2(nsIWebBrowserChrome*, unsigned int, unsigned int, nsIURI*, bool*, nsIWebBrowserChrome**) (/mnt/extra/checkouts/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:626)
nsWindowWatcher::OpenWindowJSInternal(nsIDOMWindow*, char const*, char const*, char const*, bool, nsIArray*, bool, nsIDOMWindow**) (/mnt/extra/checkouts/mozilla-central/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:696)
nsWindowWatcher::OpenWindow(nsIDOMWindow*, char const*, char const*, char const*, nsISupports*, nsIDOMWindow**) (/mnt/extra/checkouts/mozilla-central/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:381)
NS_InvokeByIndex_P (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/dist/bin/libxul.so)
CallMethodHelper::Invoke() (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:3095)
XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedNative.cpp:2389)
XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1500)
CallJSNative (/mnt/extra/checkouts/mozilla-central/js/src/jscntxtinlines.h:395)
js::InvokeKernel(JSContext*, js::CallArgs, js::MaybeConstruct) (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:311)
js::Interpret(JSContext*, js::StackFrame*, js::InterpMode) (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:2435)
~CheckStackBalance (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:3957)
js::CallReceiver::rval() const (/mnt/extra/checkouts/mozilla-central/js/src/vm/Stack.h:186)
Invoke (/mnt/extra/checkouts/mozilla-central/js/src/jsinterp.cpp:355)
JS_CallFunctionValue (/mnt/extra/checkouts/mozilla-central/js/src/jsapi.cpp:5488)
nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedJSClass.cpp:1477)
nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) (/mnt/extra/checkouts/mozilla-central/js/xpconnect/src/XPCWrappedJS.cpp:579)
PrepareAndDispatch (/mnt/extra/checkouts/mozilla-central/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:62)
EnumRun (/mnt/extra/checkouts/mozilla-central/toolkit/components/commandlines/nsCommandLine.cpp:622)
nsCommandLine::EnumerateHandlers(unsigned int (*)(nsICommandLineHandler*, nsICommandLine*, void*), void*) (/mnt/extra/checkouts/mozilla-central/toolkit/components/commandlines/nsCommandLine.cpp:560)
nsCommandLine::Run() (/mnt/extra/checkouts/mozilla-central/toolkit/components/commandlines/nsCommandLine.cpp:634)
XREMain::XRE_mainRun() (/mnt/extra/checkouts/mozilla-central/toolkit/xre/nsAppRunner.cpp:3755)
XREMain::XRE_main(int, char**, nsXREAppData const*) (/mnt/extra/checkouts/mozilla-central/toolkit/xre/nsAppRunner.cpp:3862)
~XREMain (/mnt/extra/checkouts/mozilla-central/toolkit/xre/nsAppRunner.cpp:2715)
do_main (/mnt/extra/checkouts/mozilla-central/browser/app/nsBrowserApp.cpp:160)

where "lots" means "a few hundred thousand lines".  Here's a nice big stack trace from further along in the log:

###!!! ASSERTION: ContentViewer Initialization failed: 'Error', file /mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp, line 7812
nsDocShell::SetupNewViewer(nsIContentViewer*) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:7812)
nsDocShell::Embed(nsIContentViewer*, char const*, nsISupports*) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:5895)
nsDocShell::CreateAboutBlankContentViewer(nsIPrincipal*, nsIURI*, bool) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6626)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6519)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6521)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6521)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6521)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6521)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)
nsDocShell::EnsureContentViewer() (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:6521)
nsDocShell::GetInterface(nsID const&, void**) (/mnt/extra/checkouts/mozilla-central/docshell/base/nsDocShell.cpp:944)
nsGetInterface::operator()(nsID const&, void**) const (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/xpcom/build/nsIInterfaceRequestorUtils.cpp:19)
nsCOMPtr<nsIDocument>::assign_from_helper(nsCOMPtr_helper const&, nsID const&) (/mnt/extra/checkouts/mozilla-central/objdir-ff-release/content/xul/document/src/../../../../dist/include/nsCOMPtr.h:1200)

I left out the next 900 lines in the same vein (same three functions repeated over and over) because Bugzilla doesn't like such long comments.
Comment on attachment 633964 [details] [diff] [review]
Patch v1

See comment 4.
Attachment #633964 - Flags: feedback?(ayg) → feedback-
I believe this is a duplicate of bug 857645; we have virtually the same code in our tree nowadays, so I think everything works as one would expect.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: