소스 검색

fix update for indirect paint

Johann 6 년 전
부모
커밋
8e66b2cd81
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      lazpaint/uimageview.pas

+ 5 - 2
lazpaint/uimageview.pas

@@ -565,8 +565,11 @@ begin
   if prevVSArea <> FLastPictureParameters.virtualScreenArea then
     PaintBlueAreaImplementation(ACanvasOfs, AWorkArea);
   {$ELSE}
-  InvalidateRect(AWinControl.Handle, @updateArea, false);
-  AWinControl.Update;
+  if IntersectRect(updateArea, updateArea, AWorkArea) then
+  begin
+    InvalidateRect(AWinControl.Handle, @updateArea, false);
+    AWinControl.Update;
+  end;
   {$ENDIF}
 end;