Jacek Caban : mshtml: hr element is not a space element for moving functions.
Alexandre Julliard
julliard at winehq.org
Mon Feb 11 14:19:27 CST 2008
Module: wine
Branch: master
Commit: 9f877fec9dcfe38063aa9846fe710bd575db7dbd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9f877fec9dcfe38063aa9846fe710bd575db7dbd
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Feb 10 19:47:00 2008 +0100
mshtml: hr element is not a space element for moving functions.
---
dlls/mshtml/txtrange.c | 44 ++++++++++++++++++++++++++++----------------
1 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/dlls/mshtml/txtrange.c b/dlls/mshtml/txtrange.c
index bd398b9..7e505df 100644
--- a/dlls/mshtml/txtrange.c
+++ b/dlls/mshtml/txtrange.c
@@ -661,18 +661,29 @@ static WCHAR next_char(const dompos_t *pos, dompos_t *new_pos)
return *p;
case ELEMENT_NODE:
- if(!is_space_elem(iter))
- break;
-
- if(cspace)
- dompos_release(&last_space);
- cspace = '\n';
+ if(is_elem_tag(iter, brW)) {
+ if(cspace)
+ dompos_release(&last_space);
+ cspace = '\n';
+
+ nsIDOMNode_AddRef(iter);
+ last_space.node = iter;
+ last_space.type = ELEMENT_NODE;
+ last_space.off = 0;
+ last_space.p = NULL;
+ }else if(is_elem_tag(iter, hrW)) {
+ if(cspace) {
+ *new_pos = last_space;
+ nsIDOMNode_Release(iter);
+ return cspace;
+ }
- nsIDOMNode_AddRef(iter);
- last_space.node = iter;
- last_space.type = ELEMENT_NODE;
- last_space.off = 0;
- last_space.p = NULL;
+ new_pos->node = iter;
+ new_pos->type = ELEMENT_NODE;
+ new_pos->off = 0;
+ new_pos->p = NULL;
+ return '\n';
+ }
}
tmp = iter;
@@ -745,11 +756,12 @@ static WCHAR prev_char(HTMLTxtRange *This, const dompos_t *pos, dompos_t *new_po
}
case ELEMENT_NODE:
- if(!is_space_elem(iter))
- break;
-
- if(skip_space) {
- skip_space = FALSE;
+ if(is_elem_tag(iter, brW)) {
+ if(skip_space) {
+ skip_space = FALSE;
+ break;
+ }
+ }else if(!is_elem_tag(iter, hrW)) {
break;
}
More information about the wine-cvs
mailing list