--- a/ui/winui/toolkit.cpp Wed Feb 26 17:06:56 2025 +0100 +++ b/ui/winui/toolkit.cpp Wed Feb 26 17:39:03 2025 +0100 @@ -232,9 +232,13 @@ void ui_show(UiObject* obj) { if (obj->wobj) { - obj->wobj->window.Activate(); + if (!obj->wobj->window.Visible()) { + obj->wobj->window.Activate(); + obj->ref++; + } } else if(obj->widget && obj->widget->Show) { obj->widget->Show(); + obj->ref++; // TODO: should we check if the widget is already visible? } }