static const CounterNode* nextInPreOrderAfterChildren(const CounterNode* node) { CounterNode* next = node->nextSibling(); if (!next) { next = node->parent(); while (next && !next->nextSibling()) next = next->parent(); if (next) next = next->nextSibling(); } return next; }
void CounterReset::setParentDirty () { if (hasCounters()) { if (m_renderer && m_isVisual) m_renderer->setNeedsLayoutAndMinMaxRecalc(); CounterNode* n = firstChild(); for(; n; n = n->nextSibling()) { n->setParentDirty(); } } }