GNOME Bugzilla – Bug 635211
Select-all processed on timeout when not needed
Last modified: 2011-07-28 10:09:27 UTC
I'm using evolution-2.32.0-2 that comes with Fedora 14 i386 and all updates until now are applied. Pressing Ctrl+A in the message list quickly followed by the Delete key only deletes the selected message, instead all messages. Seems like Ctrl+A is slow to select messages in the folder (even with a few) and the Delete action is executed parallely. Steps to reproduce: - create a local folder; - select some messages (may be 5, of 1kbyte) of other folders and copy them to the new folder; - select one message on the new folder; - press Ctrl+A quickly followed by Delete; - only the selected message is deleted, instead all messages. This seems to be a regression, because I haven't found this problem when used the version contained in Dropline Gnome 2.16 (for Slackware).
Downstream bug report about the same from 3.0.2: https://bugzilla.redhat.com/show_bug.cgi?id=722997 It reads: Description of problem: Keystrokes are handled asynchronously. ie: I press CTRL-A to select all messages and then quickly press delete it deletes just the one message that was hi-lighted prior to pressing CTRL-A. Version-Release number of selected component (if applicable): evolution-3.0.2-3.fc15.x86_64 How reproducible: 100% Steps to Reproduce: 1. Select a folder with a bunch of messages you want to purge. 2. Click on a message. 3. Press CTRL-A 3. Press delete before the UI has updated Actual results: Only the message that was selected prior to the select all shortcut key is deleted. Expected results: All messages in the folder deleted, or more specifically, inputs are handled in the order in which they're given.
Created attachment 192806 [details] [review] evo patch for evolution; The "quick-enough" was a bit more than half a second. This patch may help, as it postpones all message selection only if a message list regeneration is scheduled, with compare of the previous behaviour. Also, I decreased the timeout.
Created commit f093504 in evo master (3.1.5+)