MSHTML: Disable using nsWebBrowserStream

Jacek Caban jack at itma.pwr.wroc.pl
Sun Aug 21 14:20:42 CDT 2005


To have a correct implementation of IPersistStream::Load
(and IHTMLDocument2::write, but currently it's not in CVS),
we need to write to nsWebBroser throu a stream. The problem
is that the only good way to do it is to use the new interface that is 
available
 since Mozilla 1.8 alpha. You may read more about it here:
https://bugzilla.mozilla.org/show_bug.cgi?id=265333
Current code worked with 1.8a4 version, but after update
to 1.8a6 it's very unstable and sometimes causes crashes.
That's why I decided to disable it. Let's wait for a stable release of 
Mozilla
and, after testing it, I'll  to get it working. As of now
mshtml will use LoadURI hack on all versions.

Changelog:
    Disable using nsWebBrowserStream

-------------- next part --------------
Index: dlls/mshtml/nsembed.c
===================================================================
RCS file: /home/wine/wine/dlls/mshtml/nsembed.c,v
retrieving revision 1.5
diff -u -p -r1.5 nsembed.c
--- dlls/mshtml/nsembed.c	11 Aug 2005 18:36:48 -0000	1.5
+++ dlls/mshtml/nsembed.c	21 Aug 2005 17:17:40 -0000
@@ -371,10 +371,14 @@ void HTMLDocument_NSContainer_Init(HTMLD
     if(NS_FAILED(nsres))
         ERR("Could not get nsIWebNavigation interface: %08lx\n", nsres);
 
+#if 0
     nsres = nsIWebBrowserStream_QueryInterface(This->nscontainer->webbrowser, &IID_nsIWebBrowserStream,
             (void**)&This->nscontainer->stream);
     if(NS_FAILED(nsres))
         ERR("Could not get nsIWebBrowserStream interface: %08lx\n", nsres);
+#else
+    This->nscontainer->stream = NULL;
+#endif
 
     if(!nscontainer_class)
         register_nscontainer_class();


More information about the wine-patches mailing list