Define a default minimum window size to workaround rendering issues

The minimum window size can still be set to `Vector2(0, 0)` in a script
if needed.

This closes #37242.
This commit is contained in:
Hugo Locurcio 2020-03-23 22:09:22 +01:00
parent ba96f31fad
commit f02a040d48
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C
2 changed files with 6 additions and 0 deletions

View File

@ -649,6 +649,8 @@
<argument index="0" name="min_size" type="Vector2i" />
<argument index="1" name="window_id" type="int" default="0" />
<description>
Sets the minimum size for the given window to [code]min_size[/code] (in pixels).
[b]Note:[/b] By default, the main window has a minimum size of [code]Vector2i(64, 64)[/code]. This prevents issues that can arise when the window is resized to a near-zero size.
</description>
</method>
<method name="window_set_mode">

View File

@ -2242,6 +2242,10 @@ bool Main::start() {
DisplayServer::get_singleton()->window_set_title(appname);
#endif
// Define a very small minimum window size to prevent bugs such as GH-37242.
// It can still be overridden by the user in a script.
DisplayServer::get_singleton()->window_set_min_size(Size2i(64, 64));
bool snap_controls = GLOBAL_DEF("gui/common/snap_controls_to_pixels", true);
sml->get_root()->set_snap_controls_to_pixels(snap_controls);