From 4a5408cb2832fb27a28123c030e4e94d9e69405c Mon Sep 17 00:00:00 2001 From: Nikita Zlobin Date: Sun, 17 Feb 2019 11:05:14 +0500 Subject: [PATCH] Fix language guess function --- mousepad/mousepad-file.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/mousepad/mousepad-file.c b/mousepad/mousepad-file.c index 3d12f1b..176d9c8 100644 --- a/mousepad/mousepad-file.c +++ b/mousepad/mousepad-file.c @@ -449,24 +449,20 @@ mousepad_file_get_language_id (MousepadFile *file) GtkSourceLanguage * mousepad_file_guess_language (MousepadFile *file) { + g_return_val_if_fail ((file->filename != NULL), NULL); + gchar *content_type; + gchar *basename; gboolean result_uncertain; - GtkSourceLanguage *language = NULL; + GtkSourceLanguage *language; content_type = g_content_type_guess (file->filename, NULL, 0, &result_uncertain); - if (result_uncertain) - { - g_free (content_type); - content_type = NULL; - } - - if (G_LIKELY (content_type != NULL || file->filename != NULL)) - { - language = gtk_source_language_manager_guess_language (gtk_source_language_manager_get_default (), - file->filename, - content_type); - } + basename = g_path_get_basename (file->filename); + language = gtk_source_language_manager_guess_language (gtk_source_language_manager_get_default (), + basename, + result_uncertain ? NULL : content_type); + g_free (basename); g_free (content_type); return language; -- libgit2 0.26.5