GNOME Bugzilla – Bug 532737
using *_run_* calls prevents quitting Empathy
Last modified: 2009-09-17 10:40:51 UTC
Please describe the problem: When I select "Chat -> Quit" in the menu, nothing happens. Steps to reproduce: 1. Start Empathy 2. Set your presence to Available 3. When your contacts start to appear but before getting all your contacts, set your presence to Offline 4. Check that Gabble and Mission Control processes terminate 5. If you run GDB on Empathy, you see in the stack that it waits on empathy_run_until_ready although we are offline and Gabble/MC don't run anymore 6. Set your presence to Available 7. Menu Chat -> Quit Actual results: Cannot quit Expected results: Menu Chat->Quit should always work Does this happen every time? Yes Other information: stack at step 5.
+ Trace 197520
etc. smcv: "tp_*_run_until_ready has a hook for getting the main loop in order to be able to cancel, added specifically for the "how do I exit when things aren't ready?" use case"
I think empathy shouldn't use *_run_* API, it's full of problems.
*** Bug 576565 has been marked as a duplicate of this bug. ***
My branch at <http://git.collabora.co.uk/?p=user/wjt/empathy.git;a=shortlog;h=refs/heads/unrun> gets rid of the last two uses of _run_. It's completely untested. :P
Created attachment 141435 [details] [review] no more _run_ for you, buddy
This seems to work fine, merged to master, thanks for the patch.