Browse Source

* moved the s1,s2,s3 scanline memory allocation in FloodFill before changing
CurrentColor, so it doesn't get changed if the function exits prematurely due
to out of memory

git-svn-id: trunk@40971 -

nickysn 6 years ago
parent
commit
f356add031
1 changed files with 5 additions and 5 deletions
  1. 5 5
      packages/graph/src/inc/fills.inc

+ 5 - 5
packages/graph/src/inc/fills.inc

@@ -443,11 +443,6 @@ var
         exit;
         exit;
       end;
       end;
     FillChar(DrawnList^,sizeof(PFloodLine)*((ViewHeight div YResDiv) + 1),0);
     FillChar(DrawnList^,sizeof(PFloodLine)*((ViewHeight div YResDiv) + 1),0);
-    { init prevy }
-    prevy := 32767;
-    { Save current drawing color }
-    BackupColor := CurrentColor;
-    CurrentColor := FillSettings.Color;
     { MaxX is based on zero index }
     { MaxX is based on zero index }
 {$ifdef FPC_GRAPH_SUPPORTS_TRUECOLOR}
 {$ifdef FPC_GRAPH_SUPPORTS_TRUECOLOR}
     if MaxColor > 65536 then
     if MaxColor > 65536 then
@@ -468,6 +463,11 @@ var
         _GraphResult := grNoFloodMem;
         _GraphResult := grNoFloodMem;
         exit;
         exit;
       end;
       end;
+    { init prevy }
+    prevy := 32767;
+    { Save current drawing color }
+    BackupColor := CurrentColor;
+    CurrentColor := FillSettings.Color;
     { Index of points to check  }
     { Index of points to check  }
     Buffer.WordIndex:=0;
     Buffer.WordIndex:=0;
     PushPoint (x,y);
     PushPoint (x,y);