If I understand Eric correctly, the problem is that in our handler function we call $apply, which works good for the 'contextmenu' event (for here we need to trigger the digest cyle) but not in the $timeout event, because $timeout itself is in a digest cycle. It's maybe worth testing this.

I leave that up to fredj.

I'm fine with just a simple comment too, I can test it myself after merge.