浏览代码

fix update on move image

Johann 6 年之前
父节点
当前提交
87850382d8
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      lazpaint/uimageview.pas

+ 3 - 2
lazpaint/uimageview.pas

@@ -513,7 +513,7 @@ begin
   else
   begin
     FLastPictureParameters.defined:=false;
-    result:= AWorkArea;
+    result:= rect(-maxlongint div 2,-maxlongint div 2,maxlongint div 2,maxlongint div 2);
   end;
 end;
 
@@ -559,7 +559,8 @@ begin
   updateArea := GetRectToInvalidate(false, AWorkArea);
   FPenCursorPosBefore.bounds := EmptyRect;
   {$IFDEF IMAGEVIEW_DIRECTUPDATE}
-  OffsetRect(updateArea, -FLastPictureParameters.virtualScreenArea.Left,-FLastPictureParameters.virtualScreenArea.Top);
+  if FLastPictureParameters.defined then
+    OffsetRect(updateArea, -FLastPictureParameters.virtualScreenArea.Left,-FLastPictureParameters.virtualScreenArea.Top);
   PaintPictureImplementation(ACanvasOfs, AWorkArea, updateArea);
   if prevVSArea <> FLastPictureParameters.virtualScreenArea then
     PaintBlueAreaImplementation(ACanvasOfs, AWorkArea);