From 9f877fec9dcfe38063aa9846fe710bd575db7dbd Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sun, 10 Feb 2008 19:47:00 +0100 Subject: [PATCH] mshtml: hr element is not a space element for moving functions. --- dlls/mshtml/txtrange.c | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/dlls/mshtml/txtrange.c b/dlls/mshtml/txtrange.c index bd398b9060f..7e505df16e3 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(is_elem_tag(iter, brW)) { + if(cspace) + dompos_release(&last_space); + cspace = '\n'; - 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; }