Don't return reference on copy assignment operators
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this can lead to confusing code and subtle bugs. According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++ allows any arbitrary return type, so this is standard compliant. This could be re-assessed if/when we have an actual need for a behavior more akin to that of the C++ STL, for now this PR simply changes a handful of cases which were inconsistent with the rest of the codebase (`void` return type was already the most common case prior to this commit).
This commit is contained in:
@ -473,6 +473,13 @@ void FileDialog::update_file_list() {
|
||||
|
||||
dir_access->list_dir_begin();
|
||||
|
||||
if (dir_access->is_readable(dir_access->get_current_dir().utf8().get_data())) {
|
||||
message->hide();
|
||||
} else {
|
||||
message->set_text(TTRC("You don't have permission to access contents of this folder."));
|
||||
message->show();
|
||||
}
|
||||
|
||||
TreeItem *root = tree->create_item();
|
||||
Ref<Texture2D> folder = vbox->get_theme_icon(SNAME("folder"), SNAME("FileDialog"));
|
||||
Ref<Texture2D> file_icon = vbox->get_theme_icon(SNAME("file"), SNAME("FileDialog"));
|
||||
@ -482,17 +489,11 @@ void FileDialog::update_file_list() {
|
||||
List<String> dirs;
|
||||
|
||||
bool is_hidden;
|
||||
String item;
|
||||
String item = dir_access->get_next();
|
||||
|
||||
if (dir_access->is_readable(dir_access->get_current_dir().utf8().get_data())) {
|
||||
message->hide();
|
||||
} else {
|
||||
message->set_text(TTRC("You don't have permission to access contents of this folder."));
|
||||
message->show();
|
||||
}
|
||||
|
||||
while ((item = dir_access->get_next()) != "") {
|
||||
while (!item.is_empty()) {
|
||||
if (item == "." || item == "..") {
|
||||
item = dir_access->get_next();
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -505,6 +506,7 @@ void FileDialog::update_file_list() {
|
||||
dirs.push_back(item);
|
||||
}
|
||||
}
|
||||
item = dir_access->get_next();
|
||||
}
|
||||
|
||||
dirs.sort_custom<NaturalNoCaseComparator>();
|
||||
|
||||
Reference in New Issue
Block a user