summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2021-10-01 16:36:28 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2022-04-29 20:25:05 +0200
commitd567369c8fa9bf801977c7e728ece65fcb6cfa64 (patch)
tree220cd3c9b60ac6aa38020757e77a4b0dd9aa81aa
parent63addc328678c4718758b61590975152a37fcd98 (diff)
Tweak the Viewport configuration warning to mention 2×2 size requirement
-rw-r--r--doc/classes/SubViewport.xml2
-rw-r--r--scene/main/viewport.cpp5
2 files changed, 4 insertions, 3 deletions
diff --git a/doc/classes/SubViewport.xml b/doc/classes/SubViewport.xml
index b62c294f2c..7020cae1de 100644
--- a/doc/classes/SubViewport.xml
+++ b/doc/classes/SubViewport.xml
@@ -25,7 +25,7 @@
The update mode when the sub-viewport is used as a render target.
</member>
<member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i(512, 512)">
- The width and height of the sub-viewport.
+ The width and height of the sub-viewport. Must be set to a value greater than or equal to 2 pixels on both dimensions. Otherwise, nothing will be displayed.
</member>
<member name="size_2d_override" type="Vector2i" setter="set_size_2d_override" getter="get_size_2d_override" default="Vector2i(0, 0)">
The 2D size override of the sub-viewport. If either the width or height is [code]0[/code], the override is disabled.
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 5fef8d4b5f..8f1fedaac2 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -821,6 +821,7 @@ void Viewport::_set_size(const Size2i &p_size, const Size2i &p_size_2d_override,
RS::get_singleton()->viewport_set_size(viewport, 0, 0);
}
_update_global_transform();
+ update_configuration_warnings();
update_canvas_items();
@@ -2821,8 +2822,8 @@ Variant Viewport::gui_get_drag_data() const {
TypedArray<String> Viewport::get_configuration_warnings() const {
TypedArray<String> warnings = Node::get_configuration_warnings();
- if (size.x == 0 || size.y == 0) {
- warnings.push_back(RTR("Viewport size must be greater than 0 to render anything."));
+ if (size.x <= 1 || size.y <= 1) {
+ warnings.push_back(RTR("The Viewport size must be greater than or equal to 2 pixels on both dimensions to render anything."));
}
return warnings;
}