diff -urN zenity-2.32.1-orig/src/progress.c zenity-2.32.1/src/progress.c
--- zenity-2.32.1-orig/src/progress.c	2010-11-17 13:24:38.057000047 +0200
+++ zenity-2.32.1/src/progress.c	2010-11-17 13:34:06.287000325 +0200
@@ -183,7 +183,7 @@
     g_string_free (string, TRUE);
   }
 
-  if (condition != G_IO_IN) {
+  if ((condition != G_IO_IN) && (condition != G_IO_IN + G_IO_HUP)) {
     /* We assume that we are done, so stop the pulsating and de-sensitize the buttons */
     GtkWidget *button;
 
diff -urN zenity-2.32.1-orig/src/tree.c zenity-2.32.1/src/tree.c
--- zenity-2.32.1-orig/src/tree.c	2010-11-17 13:24:38.057000047 +0200
+++ zenity-2.32.1/src/tree.c	2010-11-17 13:34:30.593000135 +0200
@@ -180,7 +180,7 @@
     g_string_free (string, TRUE);
   }
 
-  if (condition != G_IO_IN) {
+  if ((condition != G_IO_IN) && (condition != G_IO_IN + G_IO_HUP)) {
     g_io_channel_shutdown (channel, TRUE, NULL);
     return FALSE;
   }
