Skip to content

Instantly share code, notes, and snippets.

@saivert
Created September 6, 2020 12:17
Show Gist options
  • Save saivert/051f07a91c51187c037533aa4b86954a to your computer and use it in GitHub Desktop.
Save saivert/051f07a91c51187c037533aa4b86954a to your computer and use it in GitHub Desktop.
diff --git a/plugins/gtkui/fileman.c b/plugins/gtkui/fileman.c
index 00d334ee..1b8b7654 100644
--- a/plugins/gtkui/fileman.c
+++ b/plugins/gtkui/fileman.c
@@ -315,28 +315,24 @@ set_file_filter (GtkFileChooser *dlg, const char *name) {
if (!name) {
name = _("Supported sound formats");
}
- static char extlist[10000];
- // Build extension list
- if (extlist[0] == '\0') {
+ GtkFileFilter* flt;
+
+ flt = gtk_file_filter_new ();
+ gtk_file_filter_set_name (flt, name);
+
+ // Add supported extensions
DB_decoder_t **codecs = deadbeef->plug_get_decoder_list ();
for (int i = 0; codecs[i]; i++) {
if (codecs[i]->exts && codecs[i]->insert) {
const char **exts = codecs[i]->exts;
+ char buf[100];
for (int e = 0; exts[e]; e++) {
- char buf[100];
- snprintf (buf, sizeof (buf), "*.%s;", exts[e]);
- strcat (extlist, buf);
+ snprintf (buf, sizeof (buf), "*.%s", exts[e]);
+ gtk_file_filter_add_pattern (flt, buf);
}
}
}
- }
-
- GtkFileFilter* flt;
-
- flt = gtk_file_filter_new ();
- gtk_file_filter_set_name (flt, name);
- gtk_file_filter_add_pattern (flt, extlist);
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dlg), flt);
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dlg), flt);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment