Module: wine Branch: refs/heads/master Commit: 3f05182335b5ddc77f32a35625cb7fde4dfa576d URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=3f05182335b5ddc77f32a356...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Aug 9 16:33:00 2006 +0200
mshtml: Load the page from moniker if we don't have nsIChannel.
---
dlls/mshtml/mshtml_private.h | 5 +++++ dlls/mshtml/nsio.c | 3 +++ dlls/mshtml/persist.c | 2 +- 3 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 79ac281..5f6bece 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -27,6 +27,9 @@ #endif
#include "nsiface.h"
+#define GENERATE_MSHTML_NS_FAILURE(code) \ + ((nsresult) ((PRUint32)(1<<31) | ((PRUint32)(0x45+6)<<16) | (PRUint32)(code))) + #define NS_OK ((nsresult)0x00000000L) #define NS_ERROR_FAILURE ((nsresult)0x80004005L) #define NS_NOINTERFACE ((nsresult)0x80004002L) @@ -35,6 +38,8 @@ #define NS_ERROR_INVALID_ARG ((nsre #define NS_ERROR_UNEXPECTED ((nsresult)0x8000ffffL) #define NS_ERROR_UNKNOWN_PROTOCOL ((nsresult)0x804b0012L)
+#define WINE_NS_LOAD_FROM_MONIKER GENERATE_MSHTML_NS_FAILURE(0) + #define NS_FAILED(res) ((res) & 0x80000000) #define NS_SUCCEEDED(res) (!NS_FAILED(res))
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index 8a1c9d3..fb578c4 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -596,6 +596,9 @@ static nsresult NSAPI nsChannel_AsyncOpe }
nsIWebBrowserChrome_Release(NSWBCHROME(container)); + + if(!This->channel) + return WINE_NS_LOAD_FROM_MONIKER; }else { BOOL cont = before_async_open(This, container); nsIWebBrowserChrome_Release(NSWBCHROME(container)); diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index 9c34c4a..d935aaf 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -237,7 +237,7 @@ static HRESULT WINAPI PersistMoniker_Loa IBindStatusCallback_Release(STATUSCLB(bscallback)); CoTaskMemFree(url); return S_OK; - }else { + }else if(nsres != WINE_NS_LOAD_FROM_MONIKER) { WARN("LoadURI failed: %08lx\n", nsres); } }