Skip to content

Commit 43438fe

Browse files
committed
Merge pull request #111529 from wagnerfs/fix-windows-native-filedialog-filters
Fix Windows native FileDialog filters not showing descriptions
2 parents 1274fac + f835707 commit 43438fe

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

platform/windows/display_server_windows.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ void DisplayServerWindows::_thread_fd_monitor(void *p_ud) {
555555
if (!exts.is_empty()) {
556556
String str = String(";").join(exts);
557557
filter_exts.push_back(str.utf16());
558-
if (tokens.size() == 2) {
558+
if (tokens.size() >= 2) {
559559
filter_names.push_back(tokens[1].strip_edges().utf16());
560560
} else {
561561
filter_names.push_back(str.utf16());

scene/gui/file_dialog.cpp

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,13 +1127,13 @@ void FileDialog::update_filters() {
11271127
}
11281128

11291129
String native_all_name;
1130+
native_all_name += all_filters;
11301131
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_DIALOG_FILE_MIME)) {
1131-
native_all_name += all_filters;
1132-
}
1133-
if (!native_all_name.is_empty()) {
1134-
native_all_name += ", ";
1132+
if (!native_all_name.is_empty()) {
1133+
native_all_name += ", ";
1134+
}
1135+
native_all_name += all_mime;
11351136
}
1136-
native_all_name += all_mime;
11371137

11381138
if (max_filters < filters.size()) {
11391139
all_filters += ", ...";
@@ -1148,13 +1148,14 @@ void FileDialog::update_filters() {
11481148
String desc = filters[i].get_slicec(';', 1).strip_edges();
11491149
String mime = filters[i].get_slicec(';', 2).strip_edges();
11501150
String native_name;
1151+
1152+
native_name += flt;
11511153
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_DIALOG_FILE_MIME)) {
1152-
native_name += flt;
1153-
}
1154-
if (!native_name.is_empty() && !mime.is_empty()) {
1155-
native_name += ", ";
1154+
if (!native_name.is_empty() && !mime.is_empty()) {
1155+
native_name += ", ";
1156+
}
1157+
native_name += mime;
11561158
}
1157-
native_name += mime;
11581159
if (!desc.is_empty()) {
11591160
filter->add_item(atr(desc) + " (" + flt + ")");
11601161
processed_filters.push_back(flt + ";" + atr(desc) + " (" + native_name + ");" + mime);

0 commit comments

Comments
 (0)