Jacek Caban : mshtml: Added IHTMLTxtRange::isEqual implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Sep 10 10:18:05 CDT 2007
Module: wine
Branch: master
Commit: 410abcfb25c0a64464d0e1fef843b03aebfcf8a2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=410abcfb25c0a64464d0e1fef843b03aebfcf8a2
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Sep 9 20:18:28 2007 +0200
mshtml: Added IHTMLTxtRange::isEqual implementation.
---
dlls/mshtml/txtrange.c | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/txtrange.c b/dlls/mshtml/txtrange.c
index c29b3c9..2821e02 100644
--- a/dlls/mshtml/txtrange.c
+++ b/dlls/mshtml/txtrange.c
@@ -366,8 +366,31 @@ static HRESULT WINAPI HTMLTxtRange_isEqual(IHTMLTxtRange *iface, IHTMLTxtRange *
VARIANT_BOOL *IsEqual)
{
HTMLTxtRange *This = HTMLTXTRANGE_THIS(iface);
- FIXME("(%p)->(%p %p)\n", This, Range, IsEqual);
- return E_NOTIMPL;
+ HTMLTxtRange *src_range;
+ PRInt16 nsret = 0;
+ nsresult nsres;
+
+ TRACE("(%p)->(%p %p)\n", This, Range, IsEqual);
+
+ *IsEqual = VARIANT_FALSE;
+
+ src_range = get_range_object(This->doc, Range);
+ if(!src_range)
+ return E_FAIL;
+
+ nsres = nsIDOMRange_CompareBoundaryPoints(This->nsrange, NS_START_TO_START,
+ src_range->nsrange, &nsret);
+ if(NS_SUCCEEDED(nsres) && !nsret) {
+ nsres = nsIDOMRange_CompareBoundaryPoints(This->nsrange, NS_END_TO_END,
+ src_range->nsrange, &nsret);
+ if(NS_SUCCEEDED(nsres) && !nsret)
+ *IsEqual = VARIANT_TRUE;
+ }
+
+ if(NS_FAILED(nsres))
+ ERR("CompareBoundaryPoints failed: %08x\n", nsres);
+
+ return S_OK;
}
static HRESULT WINAPI HTMLTxtRange_scrollIntoView(IHTMLTxtRange *iface, VARIANT_BOOL fStart)
More information about the wine-cvs
mailing list