Procházet zdrojové kódy

Merge pull request #11195 from poke1024/fix10936

Sprite selection rectangle updates again (fixes #10936)
Rémi Verschelde před 8 roky
rodič
revize
8e8724126c
1 změnil soubory, kde provedl 10 přidání a 5 odebrání
  1. 10 5
      editor/plugins/canvas_item_editor_plugin.cpp

+ 10 - 5
editor/plugins/canvas_item_editor_plugin.cpp

@@ -2301,19 +2301,24 @@ void CanvasItemEditor::_notification(int p_what) {
 			Rect2 r = canvas_item->get_item_rect();
 			Transform2D xform = canvas_item->get_transform();
 
-			float anchors[4];
-			Vector2 pivot;
+			if (r != se->prev_rect || xform != se->prev_xform) {
+				viewport->update();
+				se->prev_rect = r;
+				se->prev_xform = xform;
+			}
+
 			if (Object::cast_to<Control>(canvas_item)) {
+				float anchors[4];
+				Vector2 pivot;
+
 				pivot = Object::cast_to<Control>(canvas_item)->get_pivot_offset();
 				anchors[MARGIN_LEFT] = Object::cast_to<Control>(canvas_item)->get_anchor(MARGIN_LEFT);
 				anchors[MARGIN_RIGHT] = Object::cast_to<Control>(canvas_item)->get_anchor(MARGIN_RIGHT);
 				anchors[MARGIN_TOP] = Object::cast_to<Control>(canvas_item)->get_anchor(MARGIN_TOP);
 				anchors[MARGIN_BOTTOM] = Object::cast_to<Control>(canvas_item)->get_anchor(MARGIN_BOTTOM);
 
-				if (r != se->prev_rect || xform != se->prev_xform || pivot != se->prev_pivot || anchors[MARGIN_LEFT] != se->prev_anchors[MARGIN_LEFT] || anchors[MARGIN_RIGHT] != se->prev_anchors[MARGIN_RIGHT] || anchors[MARGIN_TOP] != se->prev_anchors[MARGIN_TOP] || anchors[MARGIN_BOTTOM] != se->prev_anchors[MARGIN_BOTTOM]) {
+				if (pivot != se->prev_pivot || anchors[MARGIN_LEFT] != se->prev_anchors[MARGIN_LEFT] || anchors[MARGIN_RIGHT] != se->prev_anchors[MARGIN_RIGHT] || anchors[MARGIN_TOP] != se->prev_anchors[MARGIN_TOP] || anchors[MARGIN_BOTTOM] != se->prev_anchors[MARGIN_BOTTOM]) {
 					viewport->update();
-					se->prev_rect = r;
-					se->prev_xform = xform;
 					se->prev_pivot = pivot;
 					se->prev_anchors[MARGIN_LEFT] = anchors[MARGIN_LEFT];
 					se->prev_anchors[MARGIN_RIGHT] = anchors[MARGIN_RIGHT];