No idea how it was working before. I spent the better part of a day last patch getting
Akroma, Angel of Fury not to exhibit what turns out to be the same bug.
What's happening is that when you activate a face-down card, it immediately turns itself face-up during announcement (as it should). The problem is that it still gets an effect that resolves normally. The effect that resolves is always for whichever card is activating at the end of announcement; and that won't be the fake face-down creature, but whatever its face-up version is. So Akroma would get a free pump activation when turned face-up, and
Wall of Deceit resolves its turn-myself-face-down ability.
Most cards, it won't matter; all other implemented morph cards with activated abilities need to choose a target. That target won't be chosen during announcement (the card is still face-down at the time), so the effect will fizzle at resolution. But I expect that if you target something with something like a face-up
Goblin Taskmaster, turn it face-down with
Ixidron or such, and then unmorph it, the goblin you targeted with the Taskmaster before will get pumped again, since the target never got cleared from the previous activation.
So in e2e2812 I've put in a flag that keeps activate() in the exe from recopying the activating card into its copy on the stack at the end of announcement. (The copy is actually made just before EVENT_ACTIVATE is sent to an activating card, which is when targeting and so on are done.) This not only makes it so resolution of the unmorphing event gets sent to card_face_down_creature() (which ignores it) instead of card_wall_of_deceit(), but will eventually let us make added activated abilities resolve correctly. For instance, we could make Mortar Pod 's sacrifice activation update itself on the stack so it really is the equipped creature that deals damage at resolution instead of Mortar Pod.