From 489d1bb0440e37c1b217c6157fba4dcd620ab225 Mon Sep 17 00:00:00 2001 From: Beq Date: Fri, 22 Aug 2025 22:43:24 +0100 Subject: [PATCH] Add missing GLTF filter to mesh model loader on Linux --- indra/newview/llfilepicker.cpp | 19 ++++++++++++++++++- .../newview/skins/default/xui/en/strings.xml | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index b81d74cc9f..e2f2bdf5fc 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -1455,6 +1455,20 @@ static std::string add_collada_filter_to_gtkchooser(GtkWindow *picker) LLTrans::getString("collada_files") + " (*.dae)"); } +// migrate to GLTF support +static std::string add_model_filter_to_gtkchooser(GtkWindow *picker) +{ +// "Model files (*.dae, *.gltf, *.glb)" + GtkFileFilter *gfilter = gtk_file_filter_new(); + gtk_file_filter_add_pattern(gfilter, "*.dae"); + gtk_file_filter_add_pattern(gfilter, "*.gltf"); + gtk_file_filter_add_pattern(gfilter, "*.glb"); + std::string filtername = LLTrans::getString("model_files") + " (*.dae; *.gltf; *.glb)"; + add_common_filters_to_gtkchooser(gfilter, picker, filtername); + return filtername; +} +// + static std::string add_imageload_filter_to_gtkchooser(GtkWindow *picker) { GtkFileFilter *gfilter = gtk_file_filter_new(); @@ -1676,7 +1690,7 @@ bool LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) filtername = dead_code_should_blow_up_here(picker); break; case FFLOAD_COLLADA: - filtername = add_collada_filter_to_gtkchooser(picker); + filtername = add_model_filter_to_gtkchooser(picker); break; case FFLOAD_IMAGE: filtername = add_imageload_filter_to_gtkchooser(picker); @@ -1936,6 +1950,9 @@ bool LLFilePicker::openFileDialog( int32_t filter, bool blocking, EType aType ) file_dialog_filter = "*.raw"; break; case FFLOAD_MODEL: + file_type = "model_files"; + file_dialog_filter = "*.{dae,gltf,glb}"; + break; case FFLOAD_COLLADA: file_type = "collada_files"; file_dialog_filter = "*.dae"; diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index acae761190..4015351fb5 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -663,6 +663,7 @@ https://www.firestormviewer.org/support for help fixing this problem. Dictionaries Object Backups COLLADA Models + Mesh Models Comma separated values Recompile