changeset 1701:9eb11f000eda

do not try to reload deleted image deleted image is replaced by the next one from the list, keep the old image displayed until the new one is set
author Vladimir Nadvornik <nadvornik@suse.cz>
date Fri, 24 Jul 2009 12:56:54 +0000
parents afcfb824e325
children 6fc56340f013
files src/image.c src/layout_image.c
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/image.c	Fri Jul 24 12:45:42 2009 +0000
+++ b/src/image.c	Fri Jul 24 12:56:54 2009 +0000
@@ -1442,6 +1442,8 @@
 
 	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE)) && fd == imd->image_fd)
 		{
+		if ((type & NOTIFY_CHANGE) && fd->change && fd->change->type == FILEDATA_CHANGE_DELETE)
+			return; /* keep the image displayed, it will be replaced by the next image from the list soon */
 		DEBUG_1("Notify image: %s %04x", fd->path, type);
 		image_reload(imd);
 		}
--- a/src/layout_image.c	Fri Jul 24 12:45:42 2009 +0000
+++ b/src/layout_image.c	Fri Jul 24 12:56:54 2009 +0000
@@ -1879,9 +1879,11 @@
 				layout_image_set_collection(lw, cd, new);
 				return;
 				}
+			layout_image_set_fd(lw, NULL);
 			}
-
-		layout_image_set_fd(lw, NULL);
+			
+		/* the image will be set to the next image from the list soon,  
+		   setting it to NULL here is not necessary*/
 		}
 }