Browse Source

Merge pull request #10763 from poke1024/realtime-polygon-2d-fix

Fixes two glitches in polygon2d wip mode introduced with #10614
Rémi Verschelde 8 years ago
parent
commit
b3496ee7ab
1 changed files with 8 additions and 5 deletions
  1. 8 5
      editor/plugins/polygon_2d_editor_plugin.cpp

+ 8 - 5
editor/plugins/polygon_2d_editor_plugin.cpp

@@ -402,10 +402,13 @@ bool Polygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
 			cpoint = canvas_item_editor->snap_point(cpoint);
 			cpoint = canvas_item_editor->snap_point(cpoint);
 			edited_point_pos = node->get_global_transform().affine_inverse().xform(cpoint);
 			edited_point_pos = node->get_global_transform().affine_inverse().xform(cpoint);
 
 
-			Vector<Vector2> poly = Variant(node->get_polygon());
-			ERR_FAIL_INDEX_V(edited_point, poly.size(), false);
-			poly[edited_point] = edited_point_pos - node->get_offset();
-			node->set_polygon(Variant(poly));
+			if (!wip_active) {
+
+				Vector<Vector2> poly = Variant(node->get_polygon());
+				ERR_FAIL_INDEX_V(edited_point, poly.size(), false);
+				poly[edited_point] = edited_point_pos - node->get_offset();
+				node->set_polygon(Variant(poly));
+			}
 
 
 			canvas_item_editor->get_viewport_control()->update();
 			canvas_item_editor->get_viewport_control()->update();
 		}
 		}
@@ -430,7 +433,7 @@ void Polygon2DEditor::_canvas_draw() {
 	Transform2D xform = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
 	Transform2D xform = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
 	Ref<Texture> handle = get_icon("EditorHandle", "EditorIcons");
 	Ref<Texture> handle = get_icon("EditorHandle", "EditorIcons");
 
 
-	if (edited_point >= 0 && EDITOR_DEF("editors/poly_editor/show_previous_outline", true)) {
+	if (!wip_active && edited_point >= 0 && EDITOR_DEF("editors/poly_editor/show_previous_outline", true)) {
 
 
 		const Color col = node->get_color().contrasted();
 		const Color col = node->get_color().contrasted();
 		const int n = pre_move_edit.size();
 		const int n = pre_move_edit.size();