fpsreadsheet: Fix range overflow related to embedded objects.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9732 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2025-05-05 20:05:04 +00:00
parent a817a0d65c
commit 4227a4864e

View File

@ -3117,10 +3117,12 @@ begin
// Add image
w := -data.FromColOffs + data.ToColOffs;
h := -data.FromRowOffs + data.ToRowOffs;
for j := data.FromCol to data.ToCol-1 do
w := w + sheet.GetColWidth(j, suMillimeters);
for j := data.FromRow to data.ToRow-1 do
h := h + sheet.GetRowHeight(j, suMillimeters);
if data.FromCol < data.ToCol then
for j := data.FromCol to data.ToCol-1 do
w := w + sheet.GetColWidth(j, suMillimeters);
if data.FromRow < data.ToRow then
for j := data.FromRow to data.ToRow-1 do
h := h + sheet.GetRowHeight(j, suMillimeters);
scaleX := w / embObj.ImageWidth;
scaleY := h / embObj.ImageHeight;
// Scale factor calculation is very inaccurate. We try to round to integers