Fix TestFreeRows
This commit is contained in:
parent
32d2838527
commit
fbe2d8ac49
@ -353,13 +353,24 @@ def ProcessComments(comments, f, width, height, bottomReserved, fontface, fontsi
|
|||||||
def TestFreeRows(rows, c, row, width, height, bottomReserved, lifetime):
|
def TestFreeRows(rows, c, row, width, height, bottomReserved, lifetime):
|
||||||
res = 0
|
res = 0
|
||||||
rowmax = height-bottomReserved-c[7]
|
rowmax = height-bottomReserved-c[7]
|
||||||
while row < rowmax and res < c[7]:
|
|
||||||
if c[4] in (1, 2):
|
if c[4] in (1, 2):
|
||||||
|
while row < rowmax and res < c[7]:
|
||||||
if rows[c[4]][row] and rows[c[4]][row][0]+lifetime > c[0]:
|
if rows[c[4]][row] and rows[c[4]][row][0]+lifetime > c[0]:
|
||||||
break
|
break
|
||||||
|
row += 1
|
||||||
|
res += 1
|
||||||
else:
|
else:
|
||||||
if rows[c[4]][row] and rows[c[4]][row][0]+lifetime*(rows[c[4]][row][8]+c[8])/width > c[0]:
|
try:
|
||||||
|
thresholdTime = c[0]-lifetime*(1-width/(c[8]+width))
|
||||||
|
except ZeroDivisionError:
|
||||||
|
thresholdTime = c[0]-lifetime
|
||||||
|
while row < rowmax and res < c[7]:
|
||||||
|
targetRow = rows[c[4]][row]
|
||||||
|
try:
|
||||||
|
if targetRow and (targetRow[0] > thresholdTime or targetRow[0]+targetRow[8]*lifetime/(targetRow[8]+width) > c[0]):
|
||||||
break
|
break
|
||||||
|
except ZeroDivisionError:
|
||||||
|
pass
|
||||||
row += 1
|
row += 1
|
||||||
res += 1
|
res += 1
|
||||||
return res
|
return res
|
||||||
|
Loading…
Reference in New Issue
Block a user