Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37482491
en ru br
Репозитории ALT

Группа :: Graphical desktop/MATE
Пакет: mate-control-center

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: mate-control-center_fv-font-model-do-not-use-sync-g_file_query_info.patch
Скачать


diff --git a/font-viewer/font-model.c b/font-viewer/font-model.c
index 13dc94c..f6fefa2 100644
--- a/font-viewer/font-model.c
+++ b/font-viewer/font-model.c
@@ -114,7 +114,6 @@ create_thumbnail (GIOSchedulerJob *job,
     }
 
   g_object_unref (info);
-  g_object_unref (file);
   g_object_unref (factory);
   g_clear_object (&pixbuf);
 
@@ -351,19 +350,18 @@ thumb_file_read_async_ready_cb (GObject *source,
 }
 
 static void
-ensure_thumbnail (FontViewModel *self,
-                  const gchar *path)
+thumbnail_query_info_cb (GObject *source,
+                         GAsyncResult *res,
+                         gpointer user_data)
 {
-    GFile *file, *thumb_file = NULL;
+    FontViewModel *self = user_data;
+    GFile *file = G_FILE (source);
+    GFile *thumb_file = NULL;
     GFileInfo *info;
     const gchar *thumb_path;
     LoadThumbnailData *data;
 
-    file = g_file_new_for_path (path);
-    info = g_file_query_info (file, G_FILE_ATTRIBUTE_THUMBNAIL_PATH ","
-                              G_FILE_ATTRIBUTE_THUMBNAILING_FAILED,
-                              G_FILE_QUERY_INFO_NONE,
-                              NULL, NULL);
+    info = g_file_query_info_finish (file, res, NULL);
 
     if (!info ||
         g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_THUMBNAILING_FAILED)) {
@@ -389,10 +387,25 @@ ensure_thumbnail (FontViewModel *self,
     }
 
  out:
-    g_clear_object (&file);
     g_clear_object (&info);
 }
 
+static void
+ensure_thumbnail (FontViewModel *self,
+                  const gchar *path)
+{
+    GFile *file;
+
+    file = g_file_new_for_path (path);
+    g_file_query_info_async (file,
+                             G_FILE_ATTRIBUTE_THUMBNAIL_PATH ","
+                             G_FILE_ATTRIBUTE_THUMBNAILING_FAILED,
+                             G_FILE_QUERY_INFO_NONE,
+                             G_PRIORITY_DEFAULT, NULL,
+                             thumbnail_query_info_cb, self);
+    g_object_unref (file);
+}
+
 /* make sure the font list is valid */
 static void
 ensure_font_list (FontViewModel *self)
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin