Browse Source

Fix usage of String.left()

kobewi 4 years ago
parent
commit
ea9660e1cf
2 changed files with 8 additions and 2 deletions
  1. 1 1
      core/string/ustring.cpp
  2. 7 1
      editor/editor_inspector.cpp

+ 1 - 1
core/string/ustring.cpp

@@ -939,7 +939,7 @@ const char32_t *String::get_data() const {
 }
 
 void String::erase(int p_pos, int p_chars) {
-	*this = left(p_pos) + substr(p_pos + p_chars, length() - ((p_pos + p_chars)));
+	*this = left(MAX(p_pos, 0)) + substr(p_pos + p_chars, length() - ((p_pos + p_chars)));
 }
 
 String String::capitalize() const {

+ 7 - 1
editor/editor_inspector.cpp

@@ -1824,7 +1824,13 @@ void EditorInspector::update_tree() {
 			}
 		}
 
-		String path = basename.left(basename.rfind("/"));
+		String path;
+		{
+			int idx = basename.rfind("/");
+			if (idx > -1) {
+				path = basename.left(idx);
+			}
+		}
 
 		if (use_filter && filter != "") {
 			String cat = path;