GNOME Bugzilla – Bug 609649
[regression] Doesn't emit cal-opened on password prompt cancel
Last modified: 2013-09-14 16:53:59 UTC
I found out that the "cal-opened" signal is not emitted when a user is asked for a password and he/she cancels the prompt. In this case the signal is never emitted, and for example itip-formatter is thinking it's doing something, but it isn't, in an "infinite" waiting. Steps: a) either forget a password on one of your remote calendars which requires a password or configure for example a fake CalDAV calendar with: url: caldav://aaa.bbb.ccc/ddd username: xxx b) on any prompt for a password on this calendar hit Cancel (or press Esc) c) go to mailer d) select a meeting invitation mail itip-formatter is using all configured calendars to check whether the event is already stored there, doing e_cal_open_async and "waiting" until all calendars are opened, either properly or not, discovering this in cal-opened signal handler. As this is never called when one cancels the password prompt, itip-formatter never finishes its waiting for the signal (which is done async, thus the backtrace doesn't show anything, and CPU usage is low). The 2.28 works properly in this case, so I'm calling this a regression.
Created attachment 153621 [details] [review] eds patch for evolution-data-server; Making this work as expected, plus couple related fixed around.
Created commit 798df06 in eds master (2.29.91+) + commit 35b167f in evo master (2.29.91+) to show a reason of failed calendar open in an itip-formatter. No string added, no string change, thus should be safe.