Esempio n. 1
0
static void verifyTree(
    olNode node)
{
    olNode parent = olNodeGetParentRootNode(node);
    olNode left = olNodeGetLeftRootNode(node);
    olNode right = olNodeGetRightRootNode(node);

    utAssert(parent == olNodeNull || olNodeGetLeftRootNode(parent) == node || olNodeGetRightRootNode(parent) == node);
    if(left != olNodeNull) {
        utAssert(!olNodeIsRedRootNode(node) || !olNodeIsRedRootNode(left));
        verifyTree(left);
    }
    if(right != olNodeNull) {
        utAssert(!olNodeIsRedRootNode(node) || !olNodeIsRedRootNode(right));
        verifyTree(right);
    }
}
Esempio n. 2
0
// Like above, but use MRestacker.
static bool testRestack(const MRestacker::WindowStack &subset,
                     Window **childrenp=NULL, unsigned *nchildrenp=NULL)
{
    if (!testRestacker.restack(subset))
        qFatal("Mrs. Tacker failed");
    if (Dpy)
        return verifyTree(subset, childrenp, nchildrenp);

    MRestacker::WindowStack stack = testRestacker.getState();
    return verifyOrder(subset, stack, stack.count());
}
Esempio n. 3
0
static bool referenceRestack(const T &subset,
                     Window **childrenp=NULL, unsigned *nchildrenp=NULL)
{
    int n = subset.count();
    WindowVec reversed(n);
    for (int i = 0; i < n; i++)
        reversed[n-1-i] = subset[i];

    Q_ASSERT(Dpy != NULL);
    if (!XRestackWindows(Dpy,
                        (Window*)reversed.constData(), reversed.count()))
        qFatal("XRestackWindows() failed");
    return verifyTree(subset, childrenp, nchildrenp);
}