File easytag-Fix-crash-when-loading-files.patch of Package easytag

From 53c9b955aee4aa4f41510e6fe6b78597257fa110 Mon Sep 17 00:00:00 2001
From: David King <amigadave@amigadave.com>
Date: Fri, 26 Feb 2016 17:27:05 +0000
Subject: Fix a crash when loading filenames from a file

Swap the arguments of the callbacks for the reload signals.

https://bugzilla.redhat.com/show_bug.cgi?id=1312163
---
 data/load_files_dialog.ui |  2 +-
 src/load_files_dialog.c   | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/data/load_files_dialog.ui b/data/load_files_dialog.ui
index f10f1aa..f8c7578 100644
--- a/data/load_files_dialog.ui
+++ b/data/load_files_dialog.ui
@@ -153,7 +153,7 @@
                                                         <property name="icon-name">view-refresh</property>
                                                         <property name="tooltip-text" translatable="yes">Reload</property>
                                                         <property name="visible">True</property>
-                                                        <signal name="clicked" handler="on_load_file_content_view_reload_clicked"/>
+                                                        <signal name="clicked" handler="on_load_file_content_view_reload_clicked" swapped="yes"/>
                                                     </object>
                                                 </child>
                                             </object>
diff --git a/src/load_files_dialog.c b/src/load_files_dialog.c
index 8686526..247692e 100644
--- a/src/load_files_dialog.c
+++ b/src/load_files_dialog.c
@@ -759,9 +759,9 @@ create_load_file_content_view_popup (EtLoadFilesDialog *self)
 
     MenuItem = gtk_menu_item_new_with_label(_("Reload"));
     gtk_menu_shell_append(GTK_MENU_SHELL(BrowserPopupMenu),MenuItem);
-    g_signal_connect (MenuItem, "activate",
-                      G_CALLBACK (on_load_file_name_view_reload_clicked),
-                      self);
+    g_signal_connect_swapped (MenuItem, "activate",
+                              G_CALLBACK (on_load_file_name_view_reload_clicked),
+                              self);
 
     gtk_widget_show_all(BrowserPopupMenu);
 
@@ -862,9 +862,9 @@ create_load_file_name_view_popup (EtLoadFilesDialog *self)
 
     MenuItem = gtk_menu_item_new_with_label (_("Reload"));
     gtk_menu_shell_append(GTK_MENU_SHELL(BrowserPopupMenu),MenuItem);
-    g_signal_connect (MenuItem, "activate",
-                      G_CALLBACK (on_load_file_content_view_reload_clicked),
-                      self);
+    g_signal_connect_swapped (MenuItem, "activate",
+                              G_CALLBACK (on_load_file_content_view_reload_clicked),
+                              self);
 
     gtk_widget_show_all(BrowserPopupMenu);
 
-- 
cgit v0.12

From 543b1f071dc82848e8819c68b19d4ed5d2395abc Mon Sep 17 00:00:00 2001
From: David King <amigadave@amigadave.com>
Date: Sun, 28 Feb 2016 08:46:16 +0000
Subject: Avoid another crash in the load filenames dialog

Make the reload action insensitive when no file is selected.
---
 src/load_files_dialog.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/load_files_dialog.c b/src/load_files_dialog.c
index 247692e..8b70e16 100644
--- a/src/load_files_dialog.c
+++ b/src/load_files_dialog.c
@@ -39,6 +39,8 @@ typedef struct
     GtkWidget *file_load_button;
     GtkWidget *file_content_view;
     GtkListStore *file_content_model;
+    GtkWidget *content_reload;
+    GtkWidget *content_reload_menuitem;
     GtkWidget *load_file_content_menu;
     GtkWidget *file_name_view;
     GtkListStore *file_name_model;
@@ -204,6 +206,8 @@ set_load_button_sensitivity (EtLoadFilesDialog *self,
     if (!file)
     {
         gtk_widget_set_sensitive (priv->file_load_button, FALSE);
+        gtk_widget_set_sensitive (priv->content_reload, FALSE);
+        gtk_widget_set_sensitive (priv->content_reload_menuitem, FALSE);
         return;
     }
 
@@ -214,10 +218,14 @@ set_load_button_sensitivity (EtLoadFilesDialog *self,
     if (info && G_FILE_TYPE_REGULAR == g_file_info_get_file_type (info))
     {
         gtk_widget_set_sensitive (GTK_WIDGET (priv->file_load_button), TRUE);
+        gtk_widget_set_sensitive (priv->content_reload, TRUE);
+        gtk_widget_set_sensitive (priv->content_reload_menuitem, TRUE);
     }
     else
     {
         gtk_widget_set_sensitive (GTK_WIDGET (priv->file_load_button), FALSE);
+        gtk_widget_set_sensitive (priv->content_reload, FALSE);
+        gtk_widget_set_sensitive (priv->content_reload_menuitem, FALSE);
 
         if (!info)
         {
@@ -868,6 +876,7 @@ create_load_file_name_view_popup (EtLoadFilesDialog *self)
 
     gtk_widget_show_all(BrowserPopupMenu);
 
+    priv->content_reload_menuitem = MenuItem;
     priv->load_file_name_menu = BrowserPopupMenu;
 }
 
@@ -1054,6 +1063,9 @@ et_load_files_dialog_class_init (EtLoadFilesDialogClass *klass)
                                                   file_content_view);
     gtk_widget_class_bind_template_child_private (widget_class,
                                                   EtLoadFilesDialog,
+                                                  content_reload);
+    gtk_widget_class_bind_template_child_private (widget_class,
+                                                  EtLoadFilesDialog,
                                                   file_content_model);
     gtk_widget_class_bind_template_child_private (widget_class,
                                                   EtLoadFilesDialog,
-- 
cgit v0.12



openSUSE Build Service is sponsored by