I suppose the problem was in the robber patch, although I don't really see how. Anyway, I've found and fixed it in the attached patch; after rolling a 7, the client goes in "waiting for network" state, and in case a discard was started, it didn't exit from that. I solved this by leaving the state when pushing mode_discard to the stack. This feels a bit wrong, because it is not near the place where the waiting for network state is entered, but it seems the best option.
While testing, I also found that in some cases the client went insensitive after a reconnect. In particular, when you have rolled a 7, and must discard. The problem was that after discard, the client is sent back to previous_state, which was frontend_gui_offline. I've fixed this in the patch as well.
Logged In: YES
user_id=831677
Originator: NO
In a few tests, this patch seems to work.
I've confirmed that the bug was introduced with the robber patch (try 'svn update -r 1277' and apply the full robber patch).
Logged In: YES
user_id=831677
Originator: NO
Added to svn 1321 (0.11.2)