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; return *p;
case ELEMENT_NODE: case ELEMENT_NODE:
if(!is_space_elem(iter)) if(is_elem_tag(iter, brW)) {
break; if(cspace)
dompos_release(&last_space);
cspace = '\n';
if(cspace) nsIDOMNode_AddRef(iter);
dompos_release(&last_space); last_space.node = iter;
cspace = '\n'; 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); new_pos->node = iter;
last_space.node = iter; new_pos->type = ELEMENT_NODE;
last_space.type = ELEMENT_NODE; new_pos->off = 0;
last_space.off = 0; new_pos->p = NULL;
last_space.p = NULL; return '\n';
}
} }
tmp = iter; tmp = iter;
@ -745,11 +756,12 @@ static WCHAR prev_char(HTMLTxtRange *This, const dompos_t *pos, dompos_t *new_po
} }
case ELEMENT_NODE: case ELEMENT_NODE:
if(!is_space_elem(iter)) if(is_elem_tag(iter, brW)) {
break; if(skip_space) {
skip_space = FALSE;
if(skip_space) { break;
skip_space = FALSE; }
}else if(!is_elem_tag(iter, hrW)) {
break; break;
} }