GSPathSegment.bounds returns (0, 0)

Hello, I am trying to get the bounds of a GSPathSegment. I am using the bounds() method. However, using a method to get the segment with a new time (even using t=1) makes the GSPathSegment return (0, 0) for the bounds.

n = Layer.selection[0]
p = n.parent
s = p.segmentAtIndex_(n.index)

s2 = s.splitAtTime_firstHalf_secondHalf_(1, None, None)[0]

print(s.isEqualToSegment_(s2))
print(s)
print(s2)

yields:

True
... origin= ... x=407.0 y=0.0 ... size= ... width=10.0 height=116.0
... origin= ... x=0.0 y=0.0 ... size= ... width=0.0 height=0.0

Comparing the description of both segments, they are identical, like the isEqualToSegment_() method also says.

What is going on?

You need to call s2.updateBounds(). It is not run by default for performance reasons.

Thank you!