changeset 1678:c029adbabb70

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 nadvornik
date Fri, 24 Jul 2009 12:56:54 +0000
parents 6b0e71b96ab6
children f2534ab598be
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
@@ -1413,6 +1413,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
@@ -1881,9 +1881,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*/
 		}
 }