Closed KoBeWi closed 9 months ago
I'm unable to reproduce it on Fedora Linux 39 (Wayland), I wonder if it's a Windows-specific bug? Can someone with a mac try it?
This also affects the progress dialog:
Unable to reproduce it on macOS Sonoma (latest, 14.2.1, M1, retina)
I can reproduce this on Linux (Fedora 39 KDE X11) on 4.3.dev3.
@KoBeWi @Calinou Could you guys test if the following code section is reached when the contents of the dialog window grows? It does on my end.
It's not reached. Where does your call come from? (i.e. stack trace)
Window::_update_viewport_size@0x0000000005345008 (/var/home/michael/Development/Projects/godot/scene/main/window.cpp:1197)
Window::_update_window_size@0x000000000534439a (/var/home/michael/Development/Projects/godot/scene/main/window.cpp:1051)
Window::_update_child_controls@0x0000000005347272 (/var/home/michael/Development/Projects/godot/scene/main/window.cpp:1555)
call_with_variant_args_helper<Window>(Window*, void (Window::*)(), Variant const**, Callable::CallError&, IndexSequence<>)@0x00000000044dd2a0 (/var/home/michael/Development/Projects/godot/core/variant/binder_common.h:304)
call_with_variant_args<Window>@0x00000000044dcd16 (/var/home/michael/Development/Projects/godot/core/variant/binder_common.h:418)
CallableCustomMethodPointer<Window>::call@0x00000000044dbe12 (/var/home/michael/Development/Projects/godot/core/object/callable_method_pointer.h:98)
Callable::callp@0x0000000006ffb3e9 (/var/home/michael/Development/Projects/godot/core/variant/callable.cpp:56)
CallQueue::_call_function@0x000000000731dfe7 (/var/home/michael/Development/Projects/godot/core/object/message_queue.cpp:221)
CallQueue::flush@0x000000000731e70c (/var/home/michael/Development/Projects/godot/core/object/message_queue.cpp:326)
SceneTree::physics_process@0x00000000052c51cd (/var/home/michael/Development/Projects/godot/scene/main/scene_tree.cpp:471)
Main::iteration@0x0000000002b3626d (/var/home/michael/Development/Projects/godot/main/main.cpp:3934)
OS_LinuxBSD::run@0x0000000002a7dfde (/var/home/michael/Development/Projects/godot/platform/linuxbsd/os_linuxbsd.cpp:938)
main@0x0000000002a76a90 (/var/home/michael/Development/Projects/godot/platform/linuxbsd/godot_linuxbsd.cpp:86)
Well mine is the same:
Window::_update_viewport_size() Line 1196 (c:\godot_source\scene\main\window.cpp:1196)
Window::_update_window_size() Line 1052 (c:\godot_source\scene\main\window.cpp:1052)
Window::_update_child_controls() Line 1557 (c:\godot_source\scene\main\window.cpp:1557)
call_with_variant_args_helper<Window>(Window * p_instance, void(Window::*)() p_method, const Variant * * p_args, Callable::CallError & r_error, IndexSequence<> __formal) Line 309 (c:\godot_source\core\variant\binder_common.h:309)
call_with_variant_args<Window>(Window * p_instance, void(Window::*)() p_method, const Variant * * p_args, int p_argcount, Callable::CallError & r_error) Line 419 (c:\godot_source\core\variant\binder_common.h:419)
CallableCustomMethodPointer<Window>::call(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 99 (c:\godot_source\core\object\callable_method_pointer.h:99)
Callable::callp(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 57 (c:\godot_source\core\variant\callable.cpp:57)
CallQueue::_call_function(const Callable & p_callable, const Variant * p_args, int p_argcount, bool p_show_error) Line 222 (c:\godot_source\core\object\message_queue.cpp:222)
CallQueue::flush() Line 328 (c:\godot_source\core\object\message_queue.cpp:328)
SceneTree::physics_process(double p_time) Line 473 (c:\godot_source\scene\main\scene_tree.cpp:473)
Main::iteration() Line 3934 (c:\godot_source\main\main.cpp:3934)
OS_Windows::run() Line 1476 (c:\godot_source\platform\windows\os_windows.cpp:1476)
With the difference that the condition is not entered, because the size is the same.
For context, in the duplicate #88128 this was bisected as a regression from #84151.
UPDATE: Managed to finally reproduce this on my end to understand what's actually happening. The window contents themselves are not going outside as I thought they were, it's just that damn panel not shrinking back when its labels were removed, which is why the notification for size changing wasn't being triggered, because the size wasn't actually changed in the end.
The problem is that I don't have a clue on how to solve this besides reintroducing NOTIFICATION_WM_SIZE_CHANGED
's old behavior.
Tested versions
4.3 fbaab3c Does not happen in 4.2
System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)
Issue description
https://github.com/godotengine/godot/assets/2223172/1378d93c-9b1f-4348-882e-607f50569051
Seems to be regression from #84151
Steps to reproduce
Minimal reproduction project (MRP)
N/A