Esme Povirk (@madewokherd) commented about dlls/uiautomationcore/tests/uiautomation.c:
} else - memset(&ComEventData.exp_node_desc, 0, sizeof(ComEventData.exp_node_desc)); + memset(&stack->exp_node_desc[idx], 0, sizeof(stack->exp_node_desc[idx])); + stack->exp_event_count++; +} + +static struct node_provider_desc *pop_event_stack_event(struct ExpectedEventStack *stack) +{ + if (!stack->exp_event_count || stack->exp_event_pos >= MAX_EVENT_STACK_COUNT) + { + ok(0, "Failed to pop expected event from stack\n"); + return NULL; + } + + return &stack->exp_node_desc[stack->exp_event_pos++];
This appears to be a queue, not a stack. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4077#note_48376