In cf01ff3159dbddb97e0e67246dee16441a64984a this broke by randomly using QSharedPointer in the wrong way.
There was only this one item being referenced, once it fell out of scope it got deleted, and then by the time the event loop returned and the queued invocation was processed, the object was already gone.
Just use WA_DeleteOnClose which will clean up nicely once we're done.
BUG: 375016