diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-11-02 13:41:57 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-11-02 13:41:57 +0000 |
commit | 9343f37ee7ba1aa98f65272412d331a280890e12 (patch) | |
tree | a4bf1207d01a10e5cf246f1a4755086280f47b70 /extra/gnome-settings-daemon | |
parent | 37a1064b8105764414f279ced442e6ba2f63bea1 (diff) |
Wed Nov 2 13:41:53 UTC 2011
Diffstat (limited to 'extra/gnome-settings-daemon')
-rw-r--r-- | extra/gnome-settings-daemon/fix_color_crash.patch | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/extra/gnome-settings-daemon/fix_color_crash.patch b/extra/gnome-settings-daemon/fix_color_crash.patch deleted file mode 100644 index 24602100f..000000000 --- a/extra/gnome-settings-daemon/fix_color_crash.patch +++ /dev/null @@ -1,186 +0,0 @@ -From fd4c0057b8e3f72b30acb6f1c82688e29b31c0c0 Mon Sep 17 00:00:00 2001 -From: Richard Hughes <richard@hughsie.com> -Date: Mon, 03 Oct 2011 08:52:06 +0000 -Subject: color: Fix a crash if ~/.local is deleted at runtime - -Resolves https://bugzilla.gnome.org/show_bug.cgi?id=660664 ---- -diff --git a/plugins/color/gcm-profile-store.c b/plugins/color/gcm-profile-store.c -index d325162..3dde406 100644 ---- a/plugins/color/gcm-profile-store.c -+++ b/plugins/color/gcm-profile-store.c -@@ -254,6 +254,8 @@ gcm_profile_store_process_child (GcmProfileStore *profile_store, - - /* check we're not in a loop */ - helper = gcm_profile_store_find_directory (profile_store, path); -+ if (helper == NULL) -+ goto out; - if (helper->depth > GCM_PROFILE_STORE_MAX_RECURSION_LEVELS) { - g_warning ("recursing more than %i levels deep is insane", - GCM_PROFILE_STORE_MAX_RECURSION_LEVELS); --- -cgit v0.9.0.2 -From e3313eb16fd2cb25ab3fbc010837b910e525acf6 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera <hadess@hadess.net> -Date: Mon, 03 Oct 2011 10:02:56 +0000 -Subject: color: Simplify gcm_profile_store_mkdir_with_parents() - -No need to check for the path existing, -g_file_make_directory_with_parents() will do that for us. ---- -(limited to 'plugins/color/gcm-profile-store.c') - -diff --git a/plugins/color/gcm-profile-store.c b/plugins/color/gcm-profile-store.c -index 3dde406..d705604 100644 ---- a/plugins/color/gcm-profile-store.c -+++ b/plugins/color/gcm-profile-store.c -@@ -419,19 +419,12 @@ static gboolean - gcm_profile_store_mkdir_with_parents (const gchar *filename, GError **error) - { - gboolean ret; -- GFile *file = NULL; - - /* ensure destination exists */ -- ret = g_file_test (filename, G_FILE_TEST_EXISTS); -- if (!ret) { -- file = g_file_new_for_path (filename); -- ret = g_file_make_directory_with_parents (file, NULL, error); -- if (!ret) -- goto out; -- } --out: -- if (file != NULL) -- g_object_unref (file); -+ file = g_file_new_for_path (filename); -+ ret = g_file_make_directory_with_parents (file, NULL, error); -+ g_object_unref (file); -+ - return ret; - } - --- -cgit v0.9.0.2 -From a711ba99fd5a9bc7bf79dcdc763deed39440eb86 Mon Sep 17 00:00:00 2001 -From: Richard Hughes <richard@hughsie.com> -Date: Mon, 03 Oct 2011 10:38:36 +0000 -Subject: Make commit e3313eb16fd2cb25ab3fbc010837b910e525acf6 actually compile - ---- -(limited to 'plugins/color/gcm-profile-store.c') - -diff --git a/plugins/color/gcm-profile-store.c b/plugins/color/gcm-profile-store.c -index d705604..0b3cfa0 100644 ---- a/plugins/color/gcm-profile-store.c -+++ b/plugins/color/gcm-profile-store.c -@@ -419,6 +419,7 @@ static gboolean - gcm_profile_store_mkdir_with_parents (const gchar *filename, GError **error) - { - gboolean ret; -+ GFile *file; - - /* ensure destination exists */ - file = g_file_new_for_path (filename); --- -cgit v0.9.0.2 -From 42fa1af884fda1590bc7af0f78e4fc70d0eb621b Mon Sep 17 00:00:00 2001 -From: Richard Hughes <richard@hughsie.com> -Date: Mon, 03 Oct 2011 10:34:04 +0000 -Subject: color: Cancel any in-progress directory searching on plugin unload - ---- -diff --git a/plugins/color/gcm-profile-store.c b/plugins/color/gcm-profile-store.c -index 0b3cfa0..bcb7adc 100644 ---- a/plugins/color/gcm-profile-store.c -+++ b/plugins/color/gcm-profile-store.c -@@ -34,6 +34,7 @@ struct _GcmProfileStorePrivate - { - GPtrArray *filename_array; - GPtrArray *directory_array; -+ GCancellable *cancellable; - }; - - enum { -@@ -326,7 +327,7 @@ gcm_profile_store_next_files_cb (GObject *source_object, - g_file_enumerator_next_files_async (enumerator, - 5, - G_PRIORITY_LOW, -- NULL, -+ profile_store->priv->cancellable, - gcm_profile_store_next_files_cb, - user_data); - -@@ -343,6 +344,7 @@ gcm_profile_store_enumerate_children_cb (GObject *source_object, - gchar *path = NULL; - GError *error = NULL; - GFileEnumerator *enumerator; -+ GcmProfileStore *profile_store = GCM_PROFILE_STORE (user_data); - - enumerator = g_file_enumerate_children_finish (G_FILE (source_object), - res, -@@ -360,7 +362,7 @@ gcm_profile_store_enumerate_children_cb (GObject *source_object, - g_file_enumerator_next_files_async (enumerator, - 5, - G_PRIORITY_LOW, -- NULL, -+ profile_store->priv->cancellable, - gcm_profile_store_next_files_cb, - user_data); - g_object_unref (enumerator); -@@ -407,7 +409,7 @@ gcm_profile_store_search_path (GcmProfileStore *profile_store, const gchar *path - G_FILE_ATTRIBUTE_STANDARD_TYPE, - G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, - G_PRIORITY_LOW, -- NULL, -+ profile_store->priv->cancellable, - gcm_profile_store_enumerate_children_cb, - profile_store); - out: -@@ -416,14 +418,16 @@ out: - } - - static gboolean --gcm_profile_store_mkdir_with_parents (const gchar *filename, GError **error) -+gcm_profile_store_mkdir_with_parents (const gchar *filename, -+ GCancellable *cancellable, -+ GError **error) - { - gboolean ret; - GFile *file; - - /* ensure destination exists */ - file = g_file_new_for_path (filename); -- ret = g_file_make_directory_with_parents (file, NULL, error); -+ ret = g_file_make_directory_with_parents (file, cancellable, error); - g_object_unref (file); - - return ret; -@@ -438,7 +442,9 @@ gcm_profile_store_search (GcmProfileStore *profile_store) - - /* get Linux per-user profiles */ - path = g_build_filename (g_get_user_data_dir (), "icc", NULL); -- ret = gcm_profile_store_mkdir_with_parents (path, &error); -+ ret = gcm_profile_store_mkdir_with_parents (path, -+ profile_store->priv->cancellable, -+ &error); - if (!ret) { - g_warning ("failed to create directory on startup: %s", error->message); - g_error_free (error); -@@ -480,6 +486,7 @@ static void - gcm_profile_store_init (GcmProfileStore *profile_store) - { - profile_store->priv = GCM_PROFILE_STORE_GET_PRIVATE (profile_store); -+ profile_store->priv->cancellable = g_cancellable_new (); - profile_store->priv->filename_array = g_ptr_array_new_with_free_func (g_free); - profile_store->priv->directory_array = g_ptr_array_new_with_free_func ((GDestroyNotify) gcm_profile_store_helper_free); - } -@@ -490,6 +497,8 @@ gcm_profile_store_finalize (GObject *object) - GcmProfileStore *profile_store = GCM_PROFILE_STORE (object); - GcmProfileStorePrivate *priv = profile_store->priv; - -+ g_cancellable_cancel (profile_store->priv->cancellable); -+ g_object_unref (profile_store->priv->cancellable); - g_ptr_array_unref (priv->filename_array); - g_ptr_array_unref (priv->directory_array); - --- -cgit v0.9.0.2 |