summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2024-09-08 15:11:13 +0300
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2024-09-08 15:11:13 +0300
commitbdd511708682ff7ad2d35dd5addcc82c572192ac (patch)
treecb3e57c961e5803bbaa3ee2960bf01111cf152e8
parent5675c76461e197d3929a1142cfb84ab1a76ac9dd (diff)
downloadredot-engine-bdd511708682ff7ad2d35dd5addcc82c572192ac.tar.gz
[Label3D] Fix updating labels in subvieports on oversampling change.
-rw-r--r--scene/3d/label_3d.cpp14
-rw-r--r--scene/main/window.cpp1
2 files changed, 8 insertions, 7 deletions
diff --git a/scene/3d/label_3d.cpp b/scene/3d/label_3d.cpp
index 9330cd8b65..6b3510a72a 100644
--- a/scene/3d/label_3d.cpp
+++ b/scene/3d/label_3d.cpp
@@ -30,7 +30,7 @@
#include "label_3d.h"
-#include "scene/main/viewport.h"
+#include "scene/main/window.h"
#include "scene/resources/theme.h"
#include "scene/theme/theme_db.h"
@@ -197,14 +197,14 @@ void Label3D::_notification(int p_what) {
if (!pending_update) {
_im_update();
}
- Viewport *viewport = get_viewport();
- ERR_FAIL_NULL(viewport);
- viewport->connect("size_changed", callable_mp(this, &Label3D::_font_changed));
+ Window *window = get_window();
+ ERR_FAIL_NULL(window);
+ window->connect("size_changed", callable_mp(this, &Label3D::_font_changed));
} break;
case NOTIFICATION_EXIT_TREE: {
- Viewport *viewport = get_viewport();
- ERR_FAIL_NULL(viewport);
- viewport->disconnect("size_changed", callable_mp(this, &Label3D::_font_changed));
+ Window *window = get_window();
+ ERR_FAIL_NULL(window);
+ window->disconnect("size_changed", callable_mp(this, &Label3D::_font_changed));
} break;
case NOTIFICATION_TRANSLATION_CHANGED: {
String new_text = atr(text);
diff --git a/scene/main/window.cpp b/scene/main/window.cpp
index aaa34a4840..06c5497da1 100644
--- a/scene/main/window.cpp
+++ b/scene/main/window.cpp
@@ -1224,6 +1224,7 @@ void Window::_update_viewport_size() {
TS->font_set_global_oversampling(font_oversampling);
if (!ci_updated) {
update_canvas_items();
+ emit_signal(SNAME("size_changed"));
}
}
}