diff --git a/src/openrct2-ui/interface/Window.cpp b/src/openrct2-ui/interface/Window.cpp index 5d2f8d753a..bc53a6b2b1 100644 --- a/src/openrct2-ui/interface/Window.cpp +++ b/src/openrct2-ui/interface/Window.cpp @@ -805,13 +805,20 @@ void WindowAlignTabs(WindowBase* w, WidgetIndex start_tab_id, WidgetIndex end_ta for (i = start_tab_id; i <= end_tab_id; i++) { + auto& widget = w->widgets[i]; if (!WidgetIsDisabled(*w, i)) { - auto& widget = w->widgets[i]; widget.left = x; widget.right = x + tab_width; x += tab_width + 1; } + else + { + // Workaround #20535: Avoid disabled widgets from sharing the same space as active ones, otherwise + // WindowFindWidgetFromPoint could return the disabled one, causing issues. + widget.left = 0; + widget.right = 0; + } } }