Explorar o código

fix update for indirect paint

Johann %!s(int64=6) %!d(string=hai) anos
pai
achega
8e66b2cd81
Modificáronse 1 ficheiros con 5 adicións e 2 borrados
  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;