summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqarmin <mikrutrafal54@gmail.com>2019-05-30 21:31:05 +0200
committerqarmin <mikrutrafal54@gmail.com>2019-05-30 21:31:05 +0200
commit392f6f89cd700351784b27993c65cb0a4d1b759b (patch)
tree8e6725d8f1c4c07a25967722f81a28a6027ebfb1
parent8c923fc61740afd560e6c814f7ef19b0cdc30112 (diff)
Fix memory leak in Text Editor and FileSystem Dock
-rw-r--r--editor/code_editor.cpp16
-rw-r--r--editor/filesystem_dock.cpp2
2 files changed, 10 insertions, 8 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 695560ca34..33adb33c8c 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -675,14 +675,14 @@ void CodeTextEditor::_line_col_changed() {
}
}
- StringBuilder *sb = memnew(StringBuilder);
- sb->append("(");
- sb->append(itos(text_editor->cursor_get_line() + 1).lpad(3));
- sb->append(",");
- sb->append(itos(positional_column + 1).lpad(3));
- sb->append(")");
-
- line_and_col_txt->set_text(sb->as_string());
+ StringBuilder sb;
+ sb.append("(");
+ sb.append(itos(text_editor->cursor_get_line() + 1).lpad(3));
+ sb.append(",");
+ sb.append(itos(positional_column + 1).lpad(3));
+ sb.append(")");
+
+ line_and_col_txt->set_text(sb.as_string());
}
void CodeTextEditor::_text_changed() {
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index 194a131095..6a4d9fea0c 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -451,9 +451,11 @@ void FileSystemDock::_navigate_to_path(const String &p_path, bool p_select_in_fa
} else if (dirAccess->dir_exists(p_path)) {
path = target_path + "/";
} else {
+ memdelete(dirAccess);
ERR_EXPLAIN(vformat(TTR("Cannot navigate to '%s' as it has not been found in the file system!"), p_path));
ERR_FAIL();
}
+ memdelete(dirAccess);
}
_set_current_path_text(path);