ID:2334351
 
Resolved
Changing an atom's appearance just before a flick() and immediately changing it back resulted in the appearance getting stuck in the altered form, even after the flick ended, until a future update.
BYOND Version:511
Operating System:Windows 10 Home
Web Browser:Chrome 63.0.3239.84
Applies to:Dream Daemon
Status: Resolved (512.1403)

This issue has been resolved.
Descriptive Problem Summary: Add an overlay, call flick(), then try to remove it. The visual is not updated until the user moves or another flick() is called.


Code Snippet (if applicable) to Reproduce Problem:
mob/verb/test()

var/obj/o=new
o.icon = 'hat.dmi'

src.overlays += o

flick("", src)

src.overlays -= o



Does the problem occur: Every time.


Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.) Occurs on stable and latest BETA release.

Workarounds: Call flick() again after removing the overlay.

https://www.dropbox.com/s/7dtt8i10qe6tsls/Lummox.rar?dl=0

^ Test enviroment.

Lummox JR resolved issue (Not a bug)
This is correct behavior. flick() preserves the current overlays and underlays and applies them for the duration of the flick.
I think that OP is saying that the overlays aren't being removed after the flick ends.
In response to Ter13
Hmm, that would be a problem then. I'll reopen this pending investigation and look at it soon.
Lummox JR changed status to 'Open'
Lummox JR resolved issue with message:
Changing an atom's appearance just before a flick() and immediately changing it back resulted in the appearance getting stuck in the altered form, even after the flick ended, until a future update.