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
