1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

RectangleList: Avoid infinite loops due to numerical precision issues

This commit is contained in:
reuk 2025-10-15 20:36:55 +01:00
parent 92573ca1ad
commit d10c5c36e3
No known key found for this signature in database
43 changed files with 376 additions and 73 deletions

View file

@ -1699,6 +1699,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"
"../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList_test.cpp"
"../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/cdjpeg.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"
@ -4028,6 +4029,7 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"
"../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList_test.cpp"
"../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/cdjpeg.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"

View file

@ -1938,6 +1938,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2542,6 +2542,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1938,6 +1938,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2542,6 +2542,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1829,6 +1829,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"
"../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList_test.cpp"
"../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/cdjpeg.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"
@ -4311,6 +4312,7 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"
"../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList_test.cpp"
"../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/cdjpeg.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"

View file

@ -2072,6 +2072,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2749,6 +2749,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -2072,6 +2072,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2749,6 +2749,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -2072,6 +2072,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2749,6 +2749,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1718,6 +1718,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"
"../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList_test.cpp"
"../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/cdjpeg.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"
@ -4127,6 +4128,7 @@ set_source_files_properties(
"../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"
"../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"
"../../../../../modules/juce_graphics/geometry/juce_RectangleList_test.cpp"
"../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/cdjpeg.h"
"../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"

View file

@ -1959,6 +1959,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2596,6 +2596,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1959,6 +1959,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2596,6 +2596,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1059,6 +1059,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -1384,6 +1384,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1059,6 +1059,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -1384,6 +1384,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1059,6 +1059,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -1384,6 +1384,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -2080,6 +2080,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2797,6 +2797,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -2080,6 +2080,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2797,6 +2797,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -2080,6 +2080,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2797,6 +2797,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1958,6 +1958,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2593,6 +2593,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>

View file

@ -1958,6 +1958,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>

View file

@ -2593,6 +2593,9 @@
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList_test.cpp">
<Filter>JUCE Modules\juce_graphics\geometry</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\jaricom.c">
<Filter>JUCE Modules\juce_graphics\image_formats\jpglib</Filter>
</ClCompile>