mshtml: hr element is not a space element for moving functions.

This commit is contained in:
Jacek Caban 2008-02-10 19:47:00 +01:00 committed by Alexandre Julliard
parent 2c6cba8eef
commit 9f877fec9d
1 changed files with 27 additions and 15 deletions

View File

@ -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;
}