After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 535749 - evolution leaves deleted messages strike through
evolution leaves deleted messages strike through
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.22.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Milan Crha
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2008-05-30 13:02 UTC by Sebastien Bacher
Modified: 2008-06-13 08:12 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
proposed evo patch for trunk (2.32 KB, patch)
2008-05-30 16:43 UTC, Milan Crha
committed Details | Review
proposed evo patch for gnome-2-22 (4.77 KB, patch)
2008-06-02 10:25 UTC, Milan Crha
committed Details | Review
debugging patch (as plain text) (740 bytes, text/plain)
2008-06-09 15:02 UTC, Milan Crha
  Details

Description Sebastien Bacher 2008-05-30 13:02:48 UTC
the bug has been described on https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/230998

"When deleting multiple emails in the evolution GUI, sometimes (as in every second time frequency) the last email is left visible in strike-through. Window refresh (F9) does not solve the problem, however selecting another folder and returning to the inbox makes the deleted entry go away. This bug is cosmetic."

the issue seems new since the 2.22.1 to 2.22.1.1 update
Comment 1 Sebastien Bacher 2008-05-30 13:30:19 UTC
the change on bug #467892 is creating the issue
Comment 2 Milan Crha 2008-05-30 13:58:12 UTC
OK, I can reproduce on trunk too, it's enough to have any filter set, like "important messages only" and have one message set as important and delete this "last" message in the folder, while Hide deleted messages is set. The message will stay there as described in the above comment.

The bad way how bug #467892 does the distinguishing when keep the focused message and when not causes this. I didn't do that clever enough when I was working on that bug.
Comment 3 Milan Crha 2008-05-30 16:43:05 UTC
Created attachment 111811 [details] [review]
proposed evo patch for trunk

for evolution trunk;

This is only for a trunk, the patch for gnome-2-22 will be more complicated, because the other patch from other bug fixed an issue with search expression, when even no filter has been set, the search expression was non-empty. So the other patch will follow as soon as this one will be accepted/finalized for a trunk.

About patch itself, I do not like it much, I really miss a lit of local changes, because with such list, and together with sent changes in folder_changed event, the task would be easy as that, just check whether I changed message locally or change came from the server, and if the message would be hidden and the search is on, then keep it there. but now it's just about deleted/not deleted, so not so good. I'm sorry.

Notice my nice comment in the code, and also the thing of simpler way how to keep the cursor_uid message in a list.
Comment 4 Srinivasa Ragavan 2008-06-02 03:58:03 UTC
Looks fine for trunk. Can you work it for stable also?
Comment 5 Bharath Acharya 2008-06-02 05:40:23 UTC
Committed to Trunk as r35574
Comment 6 Milan Crha 2008-06-02 10:25:42 UTC
Created attachment 111943 [details] [review]
proposed evo patch for gnome-2-22

for evolution in gnome-2-22;

It's same as the above plus some additional chunks from patch in bug #528288.
Comment 7 Srinivasa Ragavan 2008-06-04 05:13:24 UTC
Seems fine. test and commit for stable.
Comment 8 Milan Crha 2008-06-04 14:37:33 UTC
Committed to gnome-2-22. Committed revision 35596.
Comment 9 Han Pilmeyer 2008-06-06 08:06:44 UTC
There is one additional problem that I didn't think at first was related to this, until I read the patch description in a bit more detail.

I'm on Ubuntu hardy (8.04) and got the latest fixes as I'm using Paul Smith's makefile to build the latest 2.22 version for hardy. Yesterday's update fixed the delete issues described in this bug for me.

The problem that I am about to describe does not happen with a version from before this problem (some 2.22.0 derivative).

When I'm looking at the mails in a folder and I make a subselection (by entering something in the search box) I only see the messages with (for instance) the subject that I'm searching for. If I then start deleting those messages they will disappear one by one. When I come to the end of the subselection and I delete the last one, it will continue to show me messages (outside of the subselection). The previous versions would stop displaying messages and the message window would be shown empty.

Would you like me to start a new bug for this one or is it related to this bug?
Comment 10 Milan Crha 2008-06-09 13:13:28 UTC
It's ok, it's this bug. But I cannot reproduce it as you described it, it works for me fine.
a) have a folder with few messages
b) set "Subject or Sender contains" filter so get a subset of messages
c) delete (hitting Del key) one after another until none left

all works fine for me, on both 2.22 and actual trunk. Do you see there any difference? Can you check you really compiled evolution of the version which has included the above gnome-2-22 patch (based on the ChangeLog probably) and you run that version? Thanks in advance.
Comment 11 Han Pilmeyer 2008-06-09 13:34:59 UTC
Yes, I'm sure I have the patch since the "strike-through" problem is gone and also:

505 pilux:/usr/src/evo-src$ head ./evolution/mail/ChangeLog
2008-06-04  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #535749

	* em-folder-browser.c: (get_view_query):
	Distinguish between no filter and custom filter.
	* message-list.c: (mail_regen_list): Report empty search as NULL.
	* message-list.c: (regen_list_exec): Use better condition whether
	keep cursor_uid in the message list or not on regeneration.

506 pilux:/usr/src/evo-src$ 

I also see the same behavior with the evolution version that is currently in Ubuntu Hardy "proposed", but not in the original Ubuntu Hardy version. I addition I see it with the one I built myself using the latest 2.22.

Is there anything I can do to help debugging this?
Comment 12 Milan Crha 2008-06-09 15:02:05 UTC
Created attachment 112417 [details]
debugging patch (as plain text)

Can you please apply this debugging patch and see whether you'll see this message on console? Patch is for Evolution, and if it really does some of the former patches, then this will show what it is. Thanks in advance.

Maybe I overlooked something. :(
Comment 13 Han Pilmeyer 2008-06-11 08:56:49 UTC
I have applied the patch and reproduced the problem, but I don't see the print that the patch added. I do see other messages in the window from which I started Evolution (such as for instance "BBDB spinning up...").
Comment 14 Milan Crha 2008-06-11 15:23:33 UTC
So it means either you do not run the proper version, or the patch was removed by your build system, or what you see is caused by other thing (which I doubt).
Can you add some printf to the function where the debugging patch is, somewhere where it will print everytime something, so we can check the patch is applied and you run the proper version? The function is called whenever the message list is generated, so it will be easy to see whether it works or not. Thanks in advance.
Comment 15 Han Pilmeyer 2008-06-12 15:17:03 UTC
I added two additional printf statements. One at the entry of the routine and one just after it is finished setting "expr". This is just before your additional debugging printf statement (comment #12).

I then selected "sensors" as the search string for the subject. Delete the message (there was only one) and then I saw the next mail message with a different subject. Note that I have a separate window to read mails and this is the one that keeps displaying messages. The message list in the main Evolution window is actually empty. I'm not sure whether that was clear before.

This are the messages from my additional printf's.

HP: Entering regen_list_exec
HP: matching expr: (and (match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))
 (and   (or
  
	(match-all (header-contains "Subject"  "sensors"))
     
  (match-all (header-contains "From"  "sensors"))
  )
 ))
HP: Entering regen_list_exec
HP: matching expr: (match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))
HP: Entering regen_list_exec
HP: matching expr: (and (match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))
 (and   (or
  
	(match-all (header-contains "Subject"  "sensors"))
     
  (match-all (header-contains "From"  "sensors"))
  )
 ))
HP: Entering regen_list_exec
HP: matching expr: (match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))
HP: Entering regen_list_exec
HP: matching expr: (match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))
HP: Entering regen_list_exec
HP: matching expr: (match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))
Comment 16 Milan Crha 2008-06-12 16:35:35 UTC
Ahh, I didn't get you've opened two windows. Are both with a message list and preview pane, or the second window happened to be one which is created by menu item Message->Open in New Window (or double clicking over the message in message list)? If the later is truth, then that's right, I changed that behavior too, the search filter is no more inherited in the new window, so you can move through those messages even they didn't belong to the list in main window. That change was kinda intentional, because with filter "Unread messages" you can double click over the message, it will unmark it as read, and thus the new window will not include it there. Very dependant on the timing, though. Did I get it correct now?
Comment 17 Han Pilmeyer 2008-06-12 18:08:00 UTC
Yes, I guess that is what's happening then. I used the "double click over message in (sub) list" method. As you describe it, I can sort of understand that this is an improvement if you're using the "filter unread messages" method. However, for everything else it is probably a big step backwards.

I'm using a message list based on some search expression to get a sublist of message that I'm interested in. Sometimes this is on the subject, sometimes on the sender, sometimes on something different. I then double click on the list and read or write those messages. With deleting it just continues when I get to the end of the list. But also when reading the messages, I've noticed that it also presents messages that are not part of the (sub) list.

I guess you have explained why that happens. But it feels like a step back for me. And I don't see how I can use a different method to do what I do. I don't have a wide screen where I can display the message on the side of the message list (which in its turn is on the side of the folder list).
Comment 18 Milan Crha 2008-06-13 05:32:56 UTC
I see. Let me think about better solution then. Maybe some rutine to force keeping actual message in a list when you double click on it, I do not know yet.
Comment 19 Milan Crha 2008-06-13 08:12:53 UTC
I reopened bug #467892, because the patch there caused the issue you are complaining about.