* message-list.c (cleanup_regenerate_messagelist): Don't clear the
tree here. If two "folder_changed"s arrive in close succession,
then one possible ordering of events is
cleanup_regenerate_messagelist, cleanup_regenerate_messagelist,
cleanup_thread_messages, cleanup_thread_messages. Which would
result in the message list being filled in twice without being
cleared in between. So don't clear it until the rebuilding
function itself is called.
(clear_tree): New function to empty out the ETreeModel in the
message list.
(build_tree): Change to simpler interface. Call clear_tree.
(build_subtree): Does most of the work of the old build_tree
(build_flat): Remove unused arg. Call clear_tree.
* message-thread.c (cleanup_thread_messages): Update for
build_tree interface change.
svn path=/trunk/; revision=4787
24 lines
569 B
C
24 lines
569 B
C
#ifndef _MESSAGE_THREAD_H
|
|
#define _MESSAGE_THREAD_H
|
|
|
|
#include <gnome.h>
|
|
#include "message-list.h"
|
|
|
|
struct _container {
|
|
struct _container *next,
|
|
*parent,
|
|
*child;
|
|
const CamelMessageInfo *message;
|
|
char *root_subject; /* cached root equivalent subject */
|
|
int re; /* re version of subject? */
|
|
int order; /* the order of this message in the folder */
|
|
};
|
|
|
|
void mail_do_thread_messages (MessageList *ml, GPtrArray *uids,
|
|
gboolean use_camel_uidfree,
|
|
void (*build) (MessageList *,
|
|
struct _container *));
|
|
|
|
#endif /* !_MESSAGE_THREAD_H */
|
|
|