Jelajahi Sumber

handle updating deleted/modified multi-image file

circular17 6 tahun lalu
induk
melakukan
9dc2162a7f
1 mengubah file dengan 9 tambahan dan 1 penghapusan
  1. 9 1
      lazpaint/image/uimage.pas

+ 9 - 1
lazpaint/image/uimage.pas

@@ -481,6 +481,11 @@ end;
 
 procedure TLazPaintImage.UpdateMultiImage(AOutputFilename: string = '');
 begin
+  if not FileManager.FileExists(AOutputFilename) then
+  begin
+    ShowMessage(rsFileNotFound);
+    exit;
+  end;
   if IsIconCursor then
     UpdateIconFileUTF8(currentFilenameUTF8, AOutputFilename)
   else if IsTiff then
@@ -573,7 +578,10 @@ begin
     else
     begin
       newFrameIndex := FrameIndex;
-      tiff.Delete(newFrameIndex);
+      if newFrameIndex >= tiff.Count then
+        newFrameIndex := tiff.Count
+      else
+        tiff.Delete(newFrameIndex);
       tiff.Move(addedTiff,0,newFrameIndex);
     end;