Esme Povirk (@madewokherd) commented about dlls/uiautomationcore/uia_client.c:
* both the node's creator provider and its HWND provider. This avoids* the problem of returning the same provider twice from GetFocus.*/if (!desktop_node && ((i == node->creator_prov_idx) ||(get_node_provider_type_at_idx(node, i) == PROV_TYPE_HWND)))continue;hr = get_focus_from_node_provider(&node->IWineUiaNode_iface, i, &v);if (FAILED(hr))break;if (V_VT(&v) != VT_EMPTY){hr = UiaHUiaNodeFromVariant(&v, out_node);if (FAILED(hr))out_node = NULL;
I'm guessing you meant to assign to `*out_node` here?