changeset 1701:2309e6150e8c

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 bda2d599cc70
children 2725ab224b07
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*/
 		}
 }