Jinoh Kang (@iamahuman) commented about dlls/riched20/tests/richole.c:
}if (SUCCEEDED(hr) && inst->undo_ctl_state == undoStateDisabled){inst->undo_ctl_state = undoStateActive;inst->last_undo_status = TRUE;}break;- case undoActionDisable:
hr = ITextDocument_Undo(inst->doc, tomFalse, count);todo_wineok(hr == S_OK, "Undo: %#lx\n", hr);if (SUCCEEDED(hr)){inst->undo_ctl_state = undoStateDisabled;inst->last_undo_status = FALSE;inst->last_redo_status = FALSE;
This models the complex behaviour of riched20's undo/redo status return. Note that removing any of both statements or flipping any boolean value makes the test fail.