コード例 #1
0
ファイル: qdeclarativecontext.cpp プロジェクト: BGmot/Qt
void QDeclarativeContextData::clearContext()
{
    if (engine) {
        while (componentAttached) {
            QDeclarativeComponentAttached *a = componentAttached;
            componentAttached = a->next;
            if (componentAttached) componentAttached->prev = &componentAttached;

            a->next = 0;
            a->prev = 0;

            emit a->destruction();
        }
    }

    QDeclarativeAbstractExpression *expression = expressions;
    while (expression) {
        QDeclarativeAbstractExpression *nextExpression = expression->m_nextExpression;

        expression->m_context = 0;
        expression->m_prevExpression = 0;
        expression->m_nextExpression = 0;

        expression = nextExpression;
    }
    expressions = 0;
}
コード例 #2
0
ファイル: qdeclarativecontext.cpp プロジェクト: BGmot/Qt
void QDeclarativeContextData::invalidate()
{
    while (childContexts)
        childContexts->invalidate();

    while (componentAttached) {
        QDeclarativeComponentAttached *a = componentAttached;
        componentAttached = a->next;
        if (componentAttached) componentAttached->prev = &componentAttached;

        a->next = 0;
        a->prev = 0;

        emit a->destruction();
    }

    if (prevChild) {
        *prevChild = nextChild;
        if (nextChild) nextChild->prevChild = prevChild;
        nextChild = 0;
        prevChild = 0;
    }

    engine = 0;
    parent = 0;
}