CVS: sylpheedclaws/sylpheed-claws/src procmsg.c,1.150.2.63,1.150.2.64 summaryview.c,1.395.2.202,1.395.2.203

[email protected]
Newsgroups gmane.mail.sylpheed.claws.cvs
Message-ID <[email protected]>
Update of /pack/anoncvs/sylpheedclaws/sylpheed-claws/src
In directory sunsite.dk:/tmp/cvs-serv8066/src

Modified Files:
      Tag: gtk2
	procmsg.c summaryview.c 
Log Message:
2006-05-21 [colin]	2.2.0cvs43

	* src/procmsg.c
	* src/summaryview.c
		More timing possibilities... For next time I have 
		to find out how the hell some 3GHz computer takes
		one minute to open a 30k folder...

Index: procmsg.c
===================================================================
RCS file: /pack/anoncvs/sylpheedclaws/sylpheed-claws/src/procmsg.c,v
retrieving revision 1.150.2.63
retrieving revision 1.150.2.64
diff -u -d -r1.150.2.63 -r1.150.2.64
--- procmsg.c	2006/05/15 17:53:17	1.150.2.63
+++ procmsg.c	2006/05/21 18:49:20	1.150.2.64
@@ -44,6 +44,7 @@
 #include "partial_download.h"
 #include "mainwindow.h"
 #include "summaryview.h"
+#include "timing.h"
 
 static gint procmsg_send_message_queue_full(const gchar *file, gboolean keep_session);
 
@@ -244,7 +245,7 @@
 	MsgInfo *msginfo;
 	const gchar *msgid;
         GSList *reflist;
-
+	START_TIMING("procmsg_get_thread_tree");
 	root = g_node_new(NULL);
 	msgid_table = g_hash_table_new(g_str_hash, g_str_equal);
 	subject_relation = g_relation_new(2);
@@ -303,6 +304,7 @@
 	}
 
 	if (prefs_common.thread_by_subject) {
+		START_TIMING("procmsg_get_thread_tree(1)");
 		for (node = root->children; node && node != NULL;) {
 			next = node->next;
 			msginfo = (MsgInfo *) node->data;
@@ -326,11 +328,12 @@
 
 			node = next;
 		}	
+		END_TIMING();
 	}
 	
 	g_relation_destroy(subject_relation);
 	g_hash_table_destroy(msgid_table);
-
+	END_TIMING();
 	return root;
 }
 

Index: summaryview.c
===================================================================
RCS file: /pack/anoncvs/sylpheedclaws/sylpheed-claws/src/summaryview.c,v
retrieving revision 1.395.2.202
retrieving revision 1.395.2.203
diff -u -d -r1.395.2.202 -r1.395.2.203
--- summaryview.c	2006/05/18 17:10:17	1.395.2.202
+++ summaryview.c	2006/05/21 18:49:20	1.395.2.203
@@ -899,7 +899,11 @@
 	buf = NULL;
 	if (!item || !item->path || !folder_item_parent(item) || item->no_select) {
 		g_free(buf);
-		debug_print("empty folder\n\n");
+		debug_print("empty folder (%p %s %p %d)\n\n",
+				item, 
+				item?item->path:"NULL",
+				item?folder_item_parent(item):0x0,
+				item?item->no_select:FALSE);
 		summary_set_hide_read_msgs_menu(summaryview, FALSE);
 		summary_clear_all(summaryview);
 		summaryview->folder_item = item;
@@ -2240,6 +2244,7 @@
 	GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
 	GtkCList *clist = GTK_CLIST(summaryview->ctree);
 	GtkCListCompareFunc cmp_func = NULL;
+	START_TIMING("summary_sort");
 	g_signal_handlers_block_by_func(G_OBJECT(summaryview->ctree),
 				       G_CALLBACK(summary_tree_expanded), summaryview);
 	gtk_clist_freeze(GTK_CLIST(summaryview->ctree));
@@ -2325,6 +2330,7 @@
 	gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
 	g_signal_handlers_unblock_by_func(G_OBJECT(summaryview->ctree),
 				       G_CALLBACK(summary_tree_expanded), summaryview);
+	END_TIMING();
 }
 
 gboolean summary_insert_gnode_func(GtkCTree *ctree, guint depth, GNode *gnode,
@@ -2402,7 +2408,7 @@
 	
 	if (summaryview->threaded) {
 		GNode *root, *gnode;
-
+		START_TIMING("summaryview_set_ctree_from_list(1)");
 		root = procmsg_get_thread_tree(mlist);
 
 		for (gnode = root->children; gnode != NULL;
@@ -2415,11 +2421,12 @@
 		g_node_destroy(root);
                 
 		summary_thread_init(summaryview);
+		END_TIMING();
 	} else {
 		gchar *text[N_SUMMARY_COLS];
 		gboolean free_from = FALSE;
 		gint *col_pos = summaryview->col_pos;
-
+		START_TIMING("summaryview_set_ctree_from_list(2)");
 		cur = mlist;
 		for (; mlist != NULL; mlist = mlist->next) {
 			msginfo = (MsgInfo *)mlist->data;
@@ -2446,6 +2453,7 @@
 					     node);
 		}
 		mlist = cur;
+		END_TIMING();
 	}
 
 	if (prefs_common.enable_hscrollbar &&
@@ -2476,12 +2484,14 @@
 	node = GTK_CTREE_NODE(GTK_CLIST(ctree)->row_list);
 
 	if (prefs_common.bold_unread) {
+		START_TIMING("summaryview_set_ctree_from_list(3)");
 		while (node) {
 			GtkCTreeNode *next = GTK_CTREE_NODE_NEXT(node);
 			if (GTK_CTREE_ROW(node)->children)
 				summary_set_row_marks(summaryview, node);
 			node = next;
 		}
+		END_TIMING();
 	}
 
 	g_signal_handlers_unblock_by_func(G_OBJECT(ctree),
@@ -4205,7 +4215,7 @@
 	GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
 	GtkCTreeNode *node = GTK_CTREE_NODE(GTK_CLIST(ctree)->row_list);
 	GtkCTreeNode *next;
-
+	START_TIMING("summary_thread_init");
 	if (!summaryview->thread_collapsed) {
 		g_signal_handlers_block_by_func(G_OBJECT(ctree),
 				       G_CALLBACK(summary_tree_expanded), summaryview);
@@ -4218,6 +4228,7 @@
 		g_signal_handlers_unblock_by_func(G_OBJECT(ctree),
 				       G_CALLBACK(summary_tree_expanded), summaryview);
 	} 
+	END_TIMING();
 }
 
 static void summary_unthread_for_exec(SummaryView *summaryview)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.