CVS: sylpheed-claws/src action.c,1.12.2.33,1.12.2.34

Colin Leroy <[email protected]>
Newsgroups gmane.mail.sylpheed.claws.cvs
Message-ID <[email protected]>
Update of /cvsroot/sylpheed-claws/sylpheed-claws/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14136/src

Modified Files:
      Tag: gtk2
	action.c 
Log Message:
2006-05-01 [colin]	2.1.1cvs44

	* src/action.c
		Don't reload messageview when result of
		action is piped.

Index: action.c
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/action.c,v
retrieving revision 1.12.2.33
retrieving revision 1.12.2.34
diff -u -r1.12.2.33 -r1.12.2.34
--- action.c	24 Mar 2006 18:28:37 -0000	1.12.2.33
+++ action.c	1 May 2006 18:34:57 -0000	1.12.2.34
@@ -753,7 +753,9 @@
 			}
 			if ((child_info = fork_child(cmd, msg_str, children))) {
 				/* Pass msginfo to catch_status () */
-				child_info->msginfo_list = g_slist_append (NULL, msginfo);
+				if (!(action_type & (ACTION_PIPE_OUT | ACTION_INSERT)))
+					child_info->msginfo_list = 
+						g_slist_append (NULL, msginfo);
 				children_list = g_slist_append(children_list,
 							       child_info);
 			}
@@ -764,7 +766,9 @@
 				       user_str, user_hidden_str, sel_str);
 		if (cmd) {
 			if ((child_info = fork_child(cmd, msg_str, children))) {
-				child_info->msginfo_list = g_slist_copy (msg_list);
+				if (!(action_type & (ACTION_PIPE_OUT | ACTION_INSERT)))
+					child_info->msginfo_list = 
+						g_slist_copy (msg_list);
 				children_list = g_slist_append(children_list,
 								child_info);
 			}
@@ -1338,45 +1342,45 @@
 
 	if (child_info->children->action_type & (ACTION_SINGLE | ACTION_MULTIPLE)
 	    && child_info->msginfo_list) {
-	/* Actions on message *files* might change size and
-	* time stamp, and thus invalidate the cache */
-	SummaryView *summaryview  = NULL;
-	GSList      *cur;
-	MsgInfo     *msginfo, *nmi;	/* newmsginfo */
-	char        *file;
-
-	if (mainwindow_get_mainwindow ())
-		summaryview = mainwindow_get_mainwindow ()->summaryview;
-	for (cur = child_info->msginfo_list; cur; cur = cur->next) {
-		msginfo = (MsgInfo *)cur->data;
-		if (!(msginfo && /* Stuff used valid? */
-		    msginfo->folder && msginfo->folder->cache)) 
-			continue;
-		file = procmsg_get_message_file_path (msginfo);
-		if (!file) 
-			continue;
-		nmi = procheader_parse_file (file, msginfo->flags, FALSE, FALSE);
-		if (!nmi) 
-			continue; /* Deleted? */
-		if (msginfo->mtime != nmi->mtime || msginfo->size != nmi->size) {
-			msginfo->mtime  = nmi->mtime;
-			msginfo->size   = nmi->size;
-			msgcache_update_msg (msginfo->folder->cache, msginfo);
-		}
-		procmsg_msginfo_free (nmi);
-
-		/* refresh the message display, but only if this message is still
-		* in focus */
-		if (summaryview
-		    && summaryview->displayed
-		    && summaryview->folder_item == msginfo->folder
-		    && summary_get_msgnum (summaryview, summaryview->displayed) == msginfo->msgnum) {
-			summary_show (summaryview, summaryview->folder_item);
-			summary_select_node (summaryview, summaryview->displayed, TRUE, TRUE);
+		/* Actions on message *files* might change size and
+		* time stamp, and thus invalidate the cache */
+		SummaryView *summaryview  = NULL;
+		GSList      *cur;
+		MsgInfo     *msginfo, *nmi;	/* newmsginfo */
+		char        *file;
+
+		if (mainwindow_get_mainwindow ())
+			summaryview = mainwindow_get_mainwindow ()->summaryview;
+		for (cur = child_info->msginfo_list; cur; cur = cur->next) {
+			msginfo = (MsgInfo *)cur->data;
+			if (!(msginfo && /* Stuff used valid? */
+			    msginfo->folder && msginfo->folder->cache)) 
+				continue;
+			file = procmsg_get_message_file_path (msginfo);
+			if (!file) 
+				continue;
+			nmi = procheader_parse_file (file, msginfo->flags, FALSE, FALSE);
+			if (!nmi) 
+				continue; /* Deleted? */
+			if (msginfo->mtime != nmi->mtime || msginfo->size != nmi->size) {
+				msginfo->mtime  = nmi->mtime;
+				msginfo->size   = nmi->size;
+				msgcache_update_msg (msginfo->folder->cache, msginfo);
+			}
+			procmsg_msginfo_free (nmi);
+
+			/* refresh the message display, but only if this message is still
+			* in focus */
+			if (summaryview
+			    && summaryview->displayed
+			    && summaryview->folder_item == msginfo->folder
+			    && summary_get_msgnum (summaryview, summaryview->displayed) == msginfo->msgnum) {
+				summary_show (summaryview, summaryview->folder_item);
+				summary_select_node (summaryview, summaryview->displayed, TRUE, TRUE);
+			}
 		}
-	}
-	g_slist_free (child_info->msginfo_list);
-	child_info->msginfo_list = NULL;
+		g_slist_free (child_info->msginfo_list);
+		child_info->msginfo_list = NULL;
 	}
 
 	wait_for_children(child_info->children);



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
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.