# HG changeset patch
# User Sebastien Jodogne <s.jodogne@gmail.com>
# Date 1642452724 -3600
# Node ID d68dbe6590cede57ce2d22703fc6b8ef7e05b3d2
# Parent  b1556cefa5c6ad8c0fa65bc138d6b38f87d60fe4
fix

diff -r b1556cefa5c6 -r d68dbe6590ce OrthancFramework/Sources/Images/ImageProcessing.cpp
--- a/OrthancFramework/Sources/Images/ImageProcessing.cpp	Mon Jan 17 21:11:40 2022 +0100
+++ b/OrthancFramework/Sources/Images/ImageProcessing.cpp	Mon Jan 17 21:52:04 2022 +0100
@@ -2095,7 +2095,7 @@
 
         for (size_t i = 1; i < activeEdges.size(); i++)
         {
-          rampEnd = std::max(rampEnd, activeEdges[0].GetUpperY() + 1);
+          rampEnd = std::max(rampEnd, activeEdges[i].GetUpperY() + 1);
         }
       }
       else
@@ -2121,14 +2121,11 @@
         std::sort(activeEdges.begin(), activeEdges.end());
 
         // cf. "fillScan()" in textbook
-        if (y >= 0)
+        for (size_t k = 0; k + 1 < activeEdges.size(); k += 2)
         {
-          for (size_t k = 0; k + 1 < activeEdges.size(); k += 2)
-          {
-            int a = activeEdges[k].GetExitX();
-            int b = activeEdges[k + 1].GetEnterX();          
-            filler.Fill(y, std::min(a, b), std::max(a, b));
-          }
+          int a = activeEdges[k].GetExitX();
+          int b = activeEdges[k + 1].GetEnterX();
+          filler.Fill(y, std::min(a, b), std::max(a, b));
         }
 
         // cf. "updateActiveList()" in textbook