浏览代码

Prevent resizing minimap bigger than GraphEdit (Fix #47189)

Minimap size couldn't be resized back after been resized bigger than GraphEdit cause the grabber was out of GraphEdit.
This commit prevents resizing minimap bigger than GraphEdit and fix this issue.
jmb462 4 年之前
父节点
当前提交
045f55ec00
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      scene/gui/graph_edit.cpp

+ 6 - 1
scene/gui/graph_edit.cpp

@@ -180,7 +180,12 @@ void GraphEditMinimap::_gui_input(const Ref<InputEvent> &p_ev) {
 		accept_event();
 		accept_event();
 	} else if (mm.is_valid() && is_pressing) {
 	} else if (mm.is_valid() && is_pressing) {
 		if (is_resizing) {
 		if (is_resizing) {
-			ge->set_minimap_size(ge->get_minimap_size() - mm->get_relative());
+			// Prevent setting minimap wider than GraphEdit
+			Vector2 new_minimap_size;
+			new_minimap_size.x = MIN(get_size().x - mm->get_relative().x, ge->get_size().x - 2.0 * minimap_padding.x);
+			new_minimap_size.y = MIN(get_size().y - mm->get_relative().y, ge->get_size().y - 2.0 * minimap_padding.y);
+			ge->set_minimap_size(new_minimap_size);
+
 			update();
 			update();
 		} else {
 		} else {
 			Vector2 click_position = _convert_to_graph_position(mm->get_position() - minimap_padding) - graph_padding;
 			Vector2 click_position = _convert_to_graph_position(mm->get_position() - minimap_padding) - graph_padding;