[easytag] Add missing patch

David King amigadave at fedoraproject.org
Sun May 18 13:49:23 UTC 2014


commit 5e480054606860c299035e3d76d43a5ccb3a5943
Author: David King <amigadave at amigadave.com>
Date:   Sun May 18 14:49:04 2014 +0100

    Add missing patch

 easytag-2.2.2-avoid-hidden-directory-crash.patch |   45 ++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/easytag-2.2.2-avoid-hidden-directory-crash.patch b/easytag-2.2.2-avoid-hidden-directory-crash.patch
new file mode 100644
index 0000000..fc9361b
--- /dev/null
+++ b/easytag-2.2.2-avoid-hidden-directory-crash.patch
@@ -0,0 +1,45 @@
+From b60e4ac08252861be1f25517094ea49b8f3e7bb8 Mon Sep 17 00:00:00 2001
+From: David King <amigadave at amigadave.com>
+Date: Sun, 18 May 2014 14:24:45 +0100
+Subject: Avoid a crash when browsing hidden directories
+
+If viewing hidden directories is disabled, EasyTAG will fail to find a
+hidden path in the directory model, and will crash when trying to
+retrieve the full path from the model. Avoid this by returning early
+from Browser_Tree_Select_Dir().
+
+https://bugzilla.gnome.org/show_bug.cgi?id=730326
+
+diff --git a/src/browser.c b/src/browser.c
+index f80d90c..3027ec5 100644
+--- a/src/browser.c
++++ b/src/browser.c
+@@ -915,6 +915,7 @@ gboolean Browser_Tree_Select_Dir (const gchar *current_path)
+             g_object_unref (file);
+             g_free (path);
+         }
++
+         do
+         {
+             gtk_tree_model_get(GTK_TREE_MODEL(directoryTreeModel), &currentNode,
+@@ -931,7 +932,16 @@ gboolean Browser_Tree_Select_Dir (const gchar *current_path)
+                 break;
+             }
+             g_free(nodeName);
+-        } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(directoryTreeModel), &currentNode));
++
++            if (!gtk_tree_model_iter_next (GTK_TREE_MODEL (directoryTreeModel),
++                                           &currentNode))
++            {
++                /* Path was not found in tree, such as when a hidden path was
++                 * passed in, but hidden paths are set to not be displayed. */
++                g_strfreev (parts);
++                return FALSE;
++            }
++        } while (1);
+ 
+         parentNode = currentNode;
+         rootPath = gtk_tree_model_get_path(GTK_TREE_MODEL(directoryTreeModel), &parentNode);
+-- 
+cgit v0.10.1
+


More information about the scm-commits mailing list