Skip to content

Commit aaf2558

Browse files
committed
[[ Bug 17008 ]] Fix rendering artefacts when selected object is shown / hidden / deleted
1 parent 22f5f7f commit aaf2558

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

engine/src/control.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,11 @@ Boolean MCControl::del(bool p_check_flag)
492492
default:
493493
break;
494494
}
495+
496+
// IM-2016-10-05: [[ Bug 17008 ]] Dirty selection handles when object deleted
497+
if (getselected())
498+
getcard()->dirtyselection(rect);
499+
495500
uint2 num = 0;
496501
getcard()->count(CT_LAYER, CT_UNDEFINED, this, num, True);
497502
switch (parent->gettype())

engine/src/exec-interface-object.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3171,7 +3171,13 @@ void MCObject::SetVisible(MCExecContext& ctxt, uint32_t part, bool setting)
31713171
{
31723172
// MW-2011-08-18: [[ Layers ]] Take note of the change in visibility.
31733173
if (gettype() >= CT_GROUP)
3174+
{
31743175
static_cast<MCControl *>(this) -> layer_visibilitychanged(t_old_effective_rect);
3176+
3177+
// IM-2016-10-05: [[ Bug 17008 ]] Dirty selection handles when object shown / hidden
3178+
if (getselected())
3179+
getcard()->dirtyselection(rect);
3180+
}
31753181
}
31763182

31773183
if (dirty)

0 commit comments

Comments
 (0)