diff --git a/src/filetypes.c b/src/filetypes.c index 2c354b13c..be7b4d4ea 100644 --- a/src/filetypes.c +++ b/src/filetypes.c @@ -900,6 +900,8 @@ GtkFileFilter *filetypes_create_file_filter(filetype *ft) // Indicates whether there is a tag parser for the filetype or not. gboolean filetype_has_tags(filetype *ft) { + g_return_val_if_fail(ft != NULL, FALSE); + return ft->lang >= 0; } diff --git a/src/symbols.c b/src/symbols.c index aceefc2ed..cca2bd6d1 100644 --- a/src/symbols.c +++ b/src/symbols.c @@ -693,7 +693,7 @@ static filetype *detect_global_tags_filetype(const gchar *utf8_filename) } g_free(shortname); - if (filetypes[FILETYPE_ID(ft)]->lang < 0) + if (ft == NULL || ! filetype_has_tags(ft)) return NULL; return ft; }