multi-window ui: fix closing after async file save
At least with gtk 3.24 meld (both master and 3.20 branch) has a following problem: if last tab with modified file in non-last window is closed and saving file is approved - the window becomes clear gray.
Simplest steps to reproduce in meld checkout:
bin/meld &; sleep 5; bin/meld bin/meld
- edit some comments, press close
- Approve saving
- Result: empty gray window is shown
The commit history doesn't reveal any notice why MeldWindow destroys widget by emit-with-name instead of method-call. It maybe coincidence. Changing this to method call resolves issue. All other destroys in meld code including self-destroys are done via method call and I'm not sure that emit('destroy') is a way "supported" by gtk.
For non CSD-aware linux WM it looks like an empty gray window (that can be closed by server-side decorations close button), for CSD-pseudo-aware win32 platform it looks like a gray window without any close buttons at all. So the problem is rare, but annoying.
I didn't test it on CSD-aware linux, but it doesn't seem to be dependent.