X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxoptions.c;h=c8bbd07b2cacf94c8fca0abfbfeda421cf4fefaf;hb=829031aa78f85ced458ab253cdae852e01c751f2;hp=0eb64ffe4fde01b3b46f14b9c73183b522addfc4;hpb=0daaf16c6e5f8323e33d43ab32f90396d801a53f;p=xboard.git diff --git a/gtk/xoptions.c b/gtk/xoptions.c index 0eb64ff..c8bbd07 100644 --- a/gtk/xoptions.c +++ b/gtk/xoptions.c @@ -944,7 +944,7 @@ void BrowseGTK(GtkWidget *widget, gpointer gdata) gtkfilter = gtk_file_filter_new(); gtkfilter_all = gtk_file_filter_new(); - char fileext[10] = "*"; + char fileext[MSG_SIZ]; /* select file or folder depending on option_type */ if (currentOption[opt_i].type == PathName) @@ -965,11 +965,16 @@ void BrowseGTK(GtkWidget *widget, gpointer gdata) gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),gtkfilter_all); /* filter for specific filetypes e.g. pgn or fen */ - if (currentOption[opt_i].textValue != NULL && (strcmp(currentOption[opt_i].textValue, "") != 0) ) + if (currentOption[opt_i].textValue != NULL) { - strcat(fileext, currentOption[opt_i].textValue); - gtk_file_filter_add_pattern(gtkfilter, fileext); - gtk_file_filter_set_name (gtkfilter, currentOption[opt_i].textValue); + char *q, *p = currentOption[opt_i].textValue; + gtk_file_filter_set_name (gtkfilter, p); + while(*p) { + snprintf(fileext, MSG_SIZ, "*%s", p); + while(*p) if(*p++ == ' ') break; + for(q=fileext; *q; q++) if(*q == ' ') { *q = NULLCHAR; break; } + gtk_file_filter_add_pattern(gtkfilter, fileext); + } gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog),gtkfilter); /* activate filter */ gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(dialog),gtkfilter);