summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/02_fix_segfault_in_listview.patch29
-rw-r--r--debian/patches/series1
2 files changed, 30 insertions, 0 deletions
diff --git a/debian/patches/02_fix_segfault_in_listview.patch b/debian/patches/02_fix_segfault_in_listview.patch
new file mode 100644
index 00000000..662a6290
--- /dev/null
+++ b/debian/patches/02_fix_segfault_in_listview.patch
@@ -0,0 +1,29 @@
+diff --git a/src/tree.c b/src/tree.c
+index ad4a6d1..b347b15 100644
+--- a/src/tree.c
++++ b/src/tree.c
+@@ -120,13 +120,13 @@ zenity_tree_handle_stdin (GIOChannel *channel,
+
+ string = g_string_new (NULL);
+
+- while (channel->is_readable != TRUE)
++ while ((g_io_channel_get_flags(channel) & G_IO_FLAG_IS_READABLE) != G_IO_FLAG_IS_READABLE)
+ ;
+ do {
+ gint status;
+
+ do {
+- if (channel->is_readable == TRUE)
++ if (g_io_channel_get_flags(channel) & G_IO_FLAG_IS_READABLE)
+ status = g_io_channel_read_line_string (channel, string, NULL, &error);
+ else
+ return FALSE;
+@@ -645,7 +645,7 @@ zenity_tree_dialog_response (GtkWidget *widget, int response, gpointer data)
+ zen_data->exit_code = zenity_util_return_exit_code (ZENITY_ESC);
+ break;
+ }
+- if (channel->is_readable == TRUE)
++ if (channel != NULL && g_io_channel_get_flags (channel) & G_IO_FLAG_IS_READABLE)
+ g_io_channel_shutdown (channel, TRUE, NULL);
+
+ gtk_main_quit ();
diff --git a/debian/patches/series b/debian/patches/series
index 777963c8..4e5e3421 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
01_dont_quit_zenity_when_stdin_ends.patch
+02_fix_segfault_in_listview.patch
bgstack15