Paul wrote:
> Hi,
>
> I'm trying to embed Mozilla (downloaded and built from the CVS main
> trunk as of late December) on Window, following the guidelines on the
> embedding site. Everything works up to the point where my application
> invokes the nsIBaseWindow::create() method. This method fails. I have
> stepped into the method and it fails at the point where it tries to
> create its mInternalWidget, i.e., it cannot create the widget., i.e.,
> the following line fails:
>
>      // Create the widget
>       NS_ENSURE_TRUE(mInternalWidget = do_CreateInstance(kChildCID),
> NS_ERROR_FAILURE);
>
> Stepping into the do_CreateInstance method, it appears that it fails
> because the component manager is unable to find a factory for creating
> an NS_CHILD_CID object.
>
> Ideas?

I dug around in the Mozilla source code and it appears that NS_CHILD_ID
is part of Mozilla's OS-dependent window creation infrastructure and
there is a file, nsWinWidgetFactory.cpp, that defines factories for
creating child windows on Microsoft Windows, which I am using. I would
assume that the appropriate factories would be registered automatically
in the embedding API. But this does not appear to be the case in my
instance.

I modified my app to dum  the CIDs registered after invoking
NS_InitEmbedding and none of the widget creation CIDs appear. So it
appears that the widget creation factories are not registered.

I would appreciate any suggestions on how to resolve this issue.

Paul

_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to