浏览代码

Merge pull request #27383 from SpechtMagnus/master

TileMap: Fixed unfinished max_lines draw handling for freeze/crash avoidance.
Rémi Verschelde 6 年之前
父节点
当前提交
37969e71e4
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      editor/plugins/tile_map_editor_plugin.cpp

+ 8 - 2
editor/plugins/tile_map_editor_plugin.cpp

@@ -1463,12 +1463,15 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
 
 
 					Vector2 from = xform.xform(node->map_to_world(Vector2(i, j), true) + ofs);
 					Vector2 from = xform.xform(node->map_to_world(Vector2(i, j), true) + ofs);
 					Vector2 to = xform.xform(node->map_to_world(Vector2(i, j + 1), true) + ofs);
 					Vector2 to = xform.xform(node->map_to_world(Vector2(i, j + 1), true) + ofs);
+
 					Color col = i == 0 ? Color(1, 0.8, 0.2, 0.5) : Color(1, 0.3, 0.1, 0.2);
 					Color col = i == 0 ? Color(1, 0.8, 0.2, 0.5) : Color(1, 0.3, 0.1, 0.2);
 					p_overlay->draw_line(from, to, col, 1);
 					p_overlay->draw_line(from, to, col, 1);
 
 
-					if (max_lines-- == 0)
+					if (--max_lines == 0)
 						break;
 						break;
 				}
 				}
+				if (max_lines == 0)
+					break;
 			}
 			}
 		}
 		}
 
 
@@ -1500,12 +1503,15 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
 
 
 					Vector2 from = xform.xform(node->map_to_world(Vector2(j, i), true) + ofs);
 					Vector2 from = xform.xform(node->map_to_world(Vector2(j, i), true) + ofs);
 					Vector2 to = xform.xform(node->map_to_world(Vector2(j + 1, i), true) + ofs);
 					Vector2 to = xform.xform(node->map_to_world(Vector2(j + 1, i), true) + ofs);
+
 					Color col = i == 0 ? Color(1, 0.8, 0.2, 0.5) : Color(1, 0.3, 0.1, 0.2);
 					Color col = i == 0 ? Color(1, 0.8, 0.2, 0.5) : Color(1, 0.3, 0.1, 0.2);
 					p_overlay->draw_line(from, to, col, 1);
 					p_overlay->draw_line(from, to, col, 1);
 
 
-					if (max_lines-- == 0)
+					if (--max_lines == 0)
 						break;
 						break;
 				}
 				}
+				if (max_lines == 0)
+					break;
 			}
 			}
 		}
 		}
 	}
 	}