Jacek Caban : mshtml: Load the page from moniker if we don'
t have nsIChannel.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Aug 9 10:37:22 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 3f05182335b5ddc77f32a35625cb7fde4dfa576d
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=3f05182335b5ddc77f32a35625cb7fde4dfa576d
Author: Jacek Caban <jacek at 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);
}
}
More information about the wine-cvs
mailing list