Skip to content

Commit 76b901a

Browse files
committed
[[ TileCache ]] Fix tiles composited at wrong offset when group focus changed
This patch fixes an issue where changes to group keyboard focus which change the effective rect of the group would not trigger an update of the layer rect, leading to a mismatch between the previously cached tiles and the offset at which they are rendered. As groups don't render a focus border, the effective rect should not change when focused.
1 parent 301e7b3 commit 76b901a

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

engine/src/group.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,12 @@ Boolean MCGroup::doubleup(uint2 which)
956956
return False;
957957
}
958958

959+
uint2 MCGroup::gettransient(void) const
960+
{
961+
// OVERRIDE - groups do not have a transient focus border
962+
return 0;
963+
}
964+
959965
void MCGroup::applyrect(const MCRectangle &nrect)
960966
{
961967
bool t_size_changed;

engine/src/group.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ class MCGroup : public MCControl, public MCMixinObjectHandle<MCGroup>
9090
virtual Boolean mup(uint2 which, bool p_release);
9191
virtual Boolean doubledown(uint2 which);
9292
virtual Boolean doubleup(uint2 which);
93+
virtual uint2 gettransient(void) const;
9394
virtual void applyrect(const MCRectangle &nrect);
9495

9596
virtual void removereferences(void);

0 commit comments

Comments
 (0)