Browse Source

Merge pull request #96708 from bruvzg/lbl3d_os

[Label3D] Fix updating labels in subvieports on oversampling change.
Rémi Verschelde 1 year ago
parent
commit
83d54ab2ad
2 changed files with 8 additions and 7 deletions
  1. 7 7
      scene/3d/label_3d.cpp
  2. 1 0
      scene/main/window.cpp

+ 7 - 7
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);

+ 1 - 0
scene/main/window.cpp

@@ -1223,6 +1223,7 @@ void Window::_update_viewport_size() {
 			TS->font_set_global_oversampling(font_oversampling);
 			if (!ci_updated) {
 				update_canvas_items();
+				emit_signal(SNAME("size_changed"));
 			}
 		}
 	}