Преглед изворни кода

Fix Control not disconnecting signal

If a Control has not parent CanvasItem and is set as top_level, then it does not disconnect from the "size_changed" signal when it leaves the Canvas.
This patch corrects this.
Markus Sauermann пре 2 година
родитељ
комит
c0f0f26615
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      scene/gui/control.cpp

+ 2 - 2
scene/gui/control.cpp

@@ -2885,8 +2885,8 @@ void Control::_notification(int p_notification) {
 			if (data.parent_canvas_item) {
 				data.parent_canvas_item->disconnect("item_rect_changed", callable_mp(this, &Control::_size_changed));
 				data.parent_canvas_item = nullptr;
-			} else if (!is_set_as_top_level()) {
-				//disconnect viewport
+			} else {
+				// Disconnect viewport.
 				Viewport *viewport = get_viewport();
 				ERR_FAIL_COND(!viewport);
 				viewport->disconnect("size_changed", callable_mp(this, &Control::_size_changed));