[rhythmbox] podcast: fix parsed podcast data double free



commit df6a04a906d27b9db4f0dc6e9abe49cacdff405c
Author: Jonathan Matthew <jonathan d14n org>
Date:   Mon Jul 21 23:56:06 2014 +1000

    podcast: fix parsed podcast data double free
    
    When we think we're parsing an existing feed, free the parsed data
    if it doesn't match up with anything in the feed list.  Otherwise,
    create episodes if it's the currently selected feed.  The logic here
    was a bit messed up.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=733499

 podcast/rb-podcast-add-dialog.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/podcast/rb-podcast-add-dialog.c b/podcast/rb-podcast-add-dialog.c
index 93e481c..ea8a2d3 100644
--- a/podcast/rb-podcast-add-dialog.c
+++ b/podcast/rb-podcast-add-dialog.c
@@ -328,7 +328,9 @@ parse_finished (ParseThreadData *data)
                }
 
                /* if the row is selected, create entries for the channel contents */
-               if (data->dialog->priv->have_selection && found) {
+               if (found == FALSE) {
+                       rb_podcast_parse_channel_free (data->channel);
+               } else if (data->dialog->priv->have_selection) {
                        GtkTreePath *a;
                        GtkTreePath *b;
 
@@ -340,8 +342,6 @@ parse_finished (ParseThreadData *data)
 
                        gtk_tree_path_free (a);
                        gtk_tree_path_free (b);
-               } else {
-                       rb_podcast_parse_channel_free (data->channel);
                }
        } else {
                /* model owns data->channel now */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]