Bug#267949: marked as done (balsa: several patches for 2.2.3)

Debian Bug Tracking System owner@bugs.debian.org
Sat, 28 Aug 2004 17:48:06 -0700


Your message dated Sat, 28 Aug 2004 20:32:09 -0400
with message-id <E1C1Dc9-0007s7-00@newraff.debian.org>
and subject line Bug#267949: fixed in balsa 2.2.4-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 25 Aug 2004 09:36:41 +0000
>From miquels@cistron.nl Wed Aug 25 02:36:40 2004
Return-path: <miquels@cistron.nl>
Received: from 10fwd.cistron-office.nl (smtp.cistron-office.nl) [62.216.29.197] (mail)
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1BzuCu-0003vm-00; Wed, 25 Aug 2004 02:36:40 -0700
Received: from subspace.cistron-office.nl ([62.216.29.200])
	by smtp.cistron-office.nl with esmtp (Exim 3.35 #1 (Debian))
	id 1BzuCs-0004Wd-00
	for <submit@bugs.debian.org>; Wed, 25 Aug 2004 11:36:38 +0200
Received: from miquels by subspace.cistron-office.nl with local (Exim 3.35 #1 (Debian))
	id 1BzuCs-0004gy-00
	for <submit@bugs.debian.org>; Wed, 25 Aug 2004 11:36:38 +0200
Date: Wed, 25 Aug 2004 11:36:38 +0200
From: Miquel van Smoorenburg <miquels@cistron.nl>
To: submit@bugs.debian.org
Subject: balsa: several patches for 2.2.3
Message-ID: <20040825093636.GA17444@cistron.nl>
Mail-Followup-To: Miquel van Smoorenburg <miquels@cistron.nl>,
	submit@bugs.debian.org
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="azLHFNyN32YCQGCU"
Content-Disposition: inline
X-NCC-RegID: nl.cistron
User-Agent: Mutt/1.5.4i
Sender: Miquel van Smoorenburg <miquels@subspace.cistron-office.nl>
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
	autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 


--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Package: balsa
Version: 2.2.3-1
Severity: important

I have reported several bugs in 2.2.3 on the balsa mailinglist
which promptly got fixed by the developers - patches are already
in CVS, but if you intend to put 2.2.3 into 'sarge' then these
patches are mandatory

01_mailbox-imap.patch	Balsa asks for IMAP password 5 times
02_mailbox-node.patch	Fixes crash when turning on/off subscribed IMAP folders
03_get-password.patch	Balsa asks for IMAP password 5 times
04_config.patch		Balsa messes up when IMAP config changes
05_steal.patch		Balsa messes up when IMAP config changes

Still outstanding issues:

- Balsa might hang at startup when you have "remember open mailboxes
  between sessions" enabled. Might be IMAP-only. Serious.
- Newly arrived mail in open folders in existing threads show up
  as a collapsed thread instead of following the folder startup property.
  Annoying.

Mike.
-- 
The question is, what is a "manamanap".
The question is, who cares ?

--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="01_mailbox-imap.patch"

Index: libbalsa/mailbox_imap.c
===================================================================
RCS file: /cvs/gnome/balsa/libbalsa/mailbox_imap.c,v
retrieving revision 1.213
diff -u -r1.213 mailbox_imap.c
--- a/libbalsa/mailbox_imap.c	16 Aug 2004 20:40:17 -0000	1.213
+++ b/libbalsa/mailbox_imap.c	18 Aug 2004 17:48:50 -0000
@@ -285,6 +285,9 @@
     g_free(mailbox->path); mailbox->path = NULL;
 
     if(remote->server) {
+        g_signal_handlers_disconnect_by_func(remote->server,
+                                             server_host_settings_changed_cb,
+                                             remote);
 	g_object_unref(G_OBJECT(remote->server));
 	remote->server = NULL;
     }


--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="02_mailbox-node.patch"

Index: src/mailbox-node.c
===================================================================
RCS file: /cvs/gnome/balsa/src/mailbox-node.c,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- a/src/mailbox-node.c	12 Aug 2004 20:05:17 -0000	1.85
+++ b/src/mailbox-node.c	19 Aug 2004 12:47:55 -0000	1.86
@@ -525,6 +525,8 @@
 balsa_mailbox_node_new_from_config(const gchar* prefix)
 {
     BalsaMailboxNode * folder = balsa_mailbox_node_new();
+    static guint get_password_signal = 0;
+
     gnome_config_push_prefix(prefix);
 
     folder->server = LIBBALSA_SERVER(libbalsa_imap_server_new_from_config());
@@ -536,8 +538,15 @@
 		     G_CALLBACK(folder_conf_imap_node), NULL);
     g_signal_connect(G_OBJECT(folder), "append-subtree", 
 		     G_CALLBACK(imap_dir_cb), NULL);
-    g_signal_connect(G_OBJECT(folder->server), "get-password",
-                     G_CALLBACK(ask_password), NULL);
+
+    if (!get_password_signal)
+        get_password_signal =
+            g_signal_lookup("get-password", LIBBALSA_TYPE_SERVER);
+    if (!g_signal_has_handler_pending(G_OBJECT(folder->server),
+                                      get_password_signal, 0, TRUE))
+        g_signal_connect(G_OBJECT(folder->server), "get-password",
+                         G_CALLBACK(ask_password), NULL);
+
     balsa_mailbox_node_load_config(folder, prefix);
 
     folder->dir = gnome_config_get_string("Directory");


--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="03_get-password.patch"

Index: libbalsa/mailbox_imap.c
===================================================================
RCS file: /cvs/gnome/balsa/libbalsa/mailbox_imap.c,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -r1.215 -r1.216
--- a/libbalsa/mailbox_imap.c	19 Aug 2004 12:12:48 -0000	1.215
+++ b/libbalsa/mailbox_imap.c	19 Aug 2004 13:38:35 -0000	1.216
@@ -285,8 +285,9 @@
     g_free(mailbox->path); mailbox->path = NULL;
 
     if(remote->server) {
-        g_signal_handlers_disconnect_by_func(remote->server,
-                                             server_host_settings_changed_cb,
+        g_signal_handlers_disconnect_matched(remote->server,
+                                             G_SIGNAL_MATCH_DATA, 0,
+                                             (GQuark) 0, NULL, NULL,
                                              remote);
 	g_object_unref(G_OBJECT(remote->server));
 	remote->server = NULL;
Index: libbalsa/server.c
===================================================================
RCS file: /cvs/gnome/balsa/libbalsa/server.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- a/libbalsa/server.c	14 Aug 2004 19:31:15 -0000	1.33
+++ b/libbalsa/server.c	19 Aug 2004 13:38:35 -0000	1.34
@@ -417,3 +417,13 @@
     }
     va_end(alist);
 }
+
+void
+libbalsa_server_connect_signals(LibBalsaServer * server, GCallback cb,
+                                gpointer cb_data)
+{
+    if (!g_signal_has_handler_pending(server,
+                                      libbalsa_server_signals
+                                      [GET_PASSWORD], 0, TRUE))
+        g_signal_connect(server, "get-password", cb, cb_data);
+}
Index: libbalsa/server.h
===================================================================
RCS file: /cvs/gnome/balsa/libbalsa/server.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- a/libbalsa/server.h	8 May 2004 14:25:39 -0000	1.15
+++ b/libbalsa/server.h	19 Aug 2004 13:38:35 -0000	1.16
@@ -95,4 +95,7 @@
 
 
 void libbalsa_server_user_cb(ImapUserEventType ue, void *arg, ...);
+
+void libbalsa_server_connect_signals(LibBalsaServer * server, GCallback cb,
+                                     gpointer cb_data);
 #endif				/* __LIBBALSA_SERVER_H__ */
Index: src/mailbox-node.c
===================================================================
RCS file: /cvs/gnome/balsa/src/mailbox-node.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- a/src/mailbox-node.c	19 Aug 2004 12:47:55 -0000	1.86
+++ b/src/mailbox-node.c	19 Aug 2004 13:38:35 -0000	1.87
@@ -525,8 +525,6 @@
 balsa_mailbox_node_new_from_config(const gchar* prefix)
 {
     BalsaMailboxNode * folder = balsa_mailbox_node_new();
-    static guint get_password_signal = 0;
-
     gnome_config_push_prefix(prefix);
 
     folder->server = LIBBALSA_SERVER(libbalsa_imap_server_new_from_config());
@@ -538,15 +536,8 @@
 		     G_CALLBACK(folder_conf_imap_node), NULL);
     g_signal_connect(G_OBJECT(folder), "append-subtree", 
 		     G_CALLBACK(imap_dir_cb), NULL);
-
-    if (!get_password_signal)
-        get_password_signal =
-            g_signal_lookup("get-password", LIBBALSA_TYPE_SERVER);
-    if (!g_signal_has_handler_pending(G_OBJECT(folder->server),
-                                      get_password_signal, 0, TRUE))
-        g_signal_connect(G_OBJECT(folder->server), "get-password",
-                         G_CALLBACK(ask_password), NULL);
-
+    libbalsa_server_connect_signals(folder->server,
+                                    G_CALLBACK(ask_password), NULL);
     balsa_mailbox_node_load_config(folder, prefix);
 
     folder->dir = gnome_config_get_string("Directory");
Index: src/save-restore.c
===================================================================
RCS file: /cvs/gnome/balsa/src/save-restore.c,v
retrieving revision 1.289
retrieving revision 1.290
diff -u -r1.289 -r1.290
--- a/src/save-restore.c	18 Aug 2004 02:14:38 -0000	1.289
+++ b/src/save-restore.c	19 Aug 2004 13:38:35 -0000	1.290
@@ -506,9 +506,9 @@
     if (mailbox == NULL)
 	return FALSE;
     if (LIBBALSA_IS_MAILBOX_REMOTE(mailbox))
-        g_signal_connect(G_OBJECT(LIBBALSA_MAILBOX_REMOTE_SERVER(mailbox)),
-                         "get-password", G_CALLBACK(ask_password),
-                         mailbox);
+        libbalsa_server_connect_signals(LIBBALSA_MAILBOX_REMOTE_SERVER
+                                        (mailbox),
+                                        G_CALLBACK(ask_password), mailbox);
 
     if (LIBBALSA_IS_MAILBOX_POP3(mailbox)) {
         g_signal_connect(G_OBJECT(mailbox),


--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="04_config.patch"

Index: src/mailbox-node.c

===================================================================

RCS file: /cvs/gnome/balsa/src/mailbox-node.c,v

retrieving revision 1.87

diff -u -r1.87 mailbox-node.c

--- a/src/mailbox-node.c	19 Aug 2004 13:38:35 -0000	1.87

+++ b/src/mailbox-node.c	21 Aug 2004 13:46:41 -0000

@@ -217,6 +217,13 @@

     g_free(mn->dir);           mn->dir = NULL;

     g_free(mn->config_prefix); mn->config_prefix = NULL;

 

+    if (mn->server) {

+	g_signal_handlers_disconnect_matched(mn->server,

+                                             G_SIGNAL_MATCH_DATA, 0,

+					     (GQuark) 0, NULL, NULL, mn);

+	mn->server = NULL;

+    }

+

     G_OBJECT_CLASS(parent_class)->finalize(G_OBJECT(object));

 }

 

Index: src/save-restore.c

===================================================================

RCS file: /cvs/gnome/balsa/src/save-restore.c,v

retrieving revision 1.291

diff -u -r1.291 save-restore.c

--- a/src/save-restore.c	20 Aug 2004 10:35:54 -0000	1.291

+++ b/src/save-restore.c	21 Aug 2004 13:46:41 -0000

@@ -505,10 +505,14 @@

     mailbox = libbalsa_mailbox_new_from_config(prefix);

     if (mailbox == NULL)

 	return FALSE;

-    if (LIBBALSA_IS_MAILBOX_REMOTE(mailbox))

-        libbalsa_server_connect_signals(LIBBALSA_MAILBOX_REMOTE_SERVER

-                                        (mailbox),

+    if (LIBBALSA_IS_MAILBOX_REMOTE(mailbox)) {

+	LibBalsaServer *server = LIBBALSA_MAILBOX_REMOTE_SERVER(mailbox);

+        libbalsa_server_connect_signals(server,

                                         G_CALLBACK(ask_password), mailbox);

+	g_signal_connect_swapped(server, "set-host",

+                                 G_CALLBACK(config_mailbox_update),

+				 mailbox);

+    }

 

     if (LIBBALSA_IS_MAILBOX_POP3(mailbox)) {

         g_signal_connect(G_OBJECT(mailbox),

@@ -561,8 +565,12 @@

 

     g_return_val_if_fail(prefix != NULL, FALSE);

 

-    if( (folder = balsa_mailbox_node_new_from_config(prefix)) )

+    if( (folder = balsa_mailbox_node_new_from_config(prefix)) ) {

+	g_signal_connect_swapped(folder->server, "set-host",

+                                 G_CALLBACK(config_folder_update),

+				 folder);

 	balsa_mblist_mailbox_node_append(NULL, folder);

+    }

 

     return folder != NULL;

 }				/* config_folder_init */




--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="05_steal.patch"

Index: src/balsa-app.c

===================================================================

RCS file: /cvs/gnome/balsa/src/balsa-app.c,v

retrieving revision 1.253

diff -u -r1.253 balsa-app.c

--- a/src/balsa-app.c	20 Aug 2004 10:35:54 -0000	1.253

+++ b/src/balsa-app.c	22 Aug 2004 17:24:14 -0000

@@ -837,8 +837,8 @@

 		|| mailbox == balsa_app.sentbox

 		|| mailbox == balsa_app.draftbox

 		|| mailbox == balsa_app.trash) {

-		g_object_ref(mbnode);

-		*specials = g_slist_prepend(*specials, mbnode);

+		g_object_ref(mailbox);

+		*specials = g_slist_prepend(*specials, mailbox);

 	    }

 	    ba_remove_children_mailbox_nodes(model, &iter, specials);

 	    valid =

@@ -871,7 +871,9 @@

     ba_remove_children_mailbox_nodes(model, iter, &specials);

 

     for (l = specials; l; l = l->next)

-	balsa_mblist_mailbox_node_append(NULL, l->data);

+        balsa_mblist_mailbox_node_append(NULL,

+                                         balsa_mailbox_node_new_from_mailbox

+                                         (l->data));

     g_slist_free(specials);

 }

 

Index: src/mailbox-node.c

===================================================================

RCS file: /cvs/gnome/balsa/src/mailbox-node.c,v

retrieving revision 1.88

diff -u -r1.88 mailbox-node.c

--- a/src/mailbox-node.c	21 Aug 2004 16:34:25 -0000	1.88

+++ b/src/mailbox-node.c	22 Aug 2004 17:24:15 -0000

@@ -353,11 +353,12 @@

 imap_scan_attach_mailbox(BalsaMailboxNode * mbnode, imap_scan_item * isi)

 {

     LibBalsaMailboxImap *m;

+

+    g_signal_connect(G_OBJECT(mbnode), "show-prop-dialog",

+                     G_CALLBACK(folder_conf_imap_sub_node), NULL);

     if (LIBBALSA_IS_MAILBOX_IMAP(mbnode->mailbox))

         /* it already has a mailbox */

         return FALSE;

-    g_signal_connect(G_OBJECT(mbnode), "show-prop-dialog",

-                     G_CALLBACK(folder_conf_imap_sub_node), NULL);

     m = LIBBALSA_MAILBOX_IMAP(libbalsa_mailbox_imap_new());

     libbalsa_mailbox_remote_set_server(LIBBALSA_MAILBOX_REMOTE(m),

 				       mbnode->server);

@@ -1146,6 +1147,7 @@

     BalsaMailboxNode *parent;

     const gchar *basename;

     gchar *url = libbalsa_imap_url(root->server, isi->fn);

+    LibBalsaMailbox *mailbox = NULL;

 

     mbnode = balsa_find_url(url);

     if (mbnode) {

@@ -1158,6 +1160,8 @@

 	    return mbnode;

 	}

 	g_object_unref(mbnode);

+	mailbox = special->mailbox;

+	g_object_ref(mailbox);

 	g_object_unref(special);

     }

     g_free(url);

@@ -1171,6 +1175,7 @@

     g_free(parent_name);

 

     mbnode = balsa_mailbox_node_new_imap_node(root->server, isi->fn);

+    mbnode->mailbox = mailbox;

     basename = strrchr(isi->fn, delim);

     if (!basename)

         basename = isi->fn;




--azLHFNyN32YCQGCU--

---------------------------------------
Received: (at 267949-close) by bugs.debian.org; 29 Aug 2004 00:38:06 +0000
>From katie@ftp-master.debian.org Sat Aug 28 17:38:06 2004
Return-path: <katie@ftp-master.debian.org>
Received: from newraff.debian.org [208.185.25.31] (mail)
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1C1Dhu-0001lJ-00; Sat, 28 Aug 2004 17:38:06 -0700
Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian))
	id 1C1Dc9-0007s7-00; Sat, 28 Aug 2004 20:32:09 -0400
From: Andrew Lau <netsnipe@users.sourceforge.net>
To: 267949-close@bugs.debian.org
X-Katie: $Revision: 1.51 $
Subject: Bug#267949: fixed in balsa 2.2.4-1
Message-Id: <E1C1Dc9-0007s7-00@newraff.debian.org>
Sender: Archive Administrator <katie@ftp-master.debian.org>
Date: Sat, 28 Aug 2004 20:32:09 -0400
Delivered-To: 267949-close@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

Source: balsa
Source-Version: 2.2.4-1

We believe that the bug you reported is fixed in the latest version of
balsa, which is due to be installed in the Debian FTP archive:

balsa_2.2.4-1.diff.gz
  to pool/main/b/balsa/balsa_2.2.4-1.diff.gz
balsa_2.2.4-1.dsc
  to pool/main/b/balsa/balsa_2.2.4-1.dsc
balsa_2.2.4-1_i386.deb
  to pool/main/b/balsa/balsa_2.2.4-1_i386.deb
balsa_2.2.4.orig.tar.gz
  to pool/main/b/balsa/balsa_2.2.4.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 267949@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andrew Lau <netsnipe@users.sourceforge.net> (supplier of updated balsa package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sun, 29 Aug 2004 01:13:23 +1000
Source: balsa
Binary: balsa
Architecture: source i386
Version: 2.2.4-1
Distribution: unstable
Urgency: low
Maintainer: Andrew Lau <netsnipe@users.sourceforge.net>
Changed-By: Andrew Lau <netsnipe@users.sourceforge.net>
Description: 
 balsa      - An e-mail client for GNOME
Closes: 267949
Changes: 
 balsa (2.2.4-1) unstable; urgency=low
 .
   * New upstream release.
     - IMAP password quering code cleanup
       (closes: #267949)
     - Patch merged: 00_64-bit.patch
   * GPE Palmtop Environment address book support enabled.
Files: 
 f7ad57a3c30f861262bbd11d1c33a54d 1618 gnome optional balsa_2.2.4-1.dsc
 2886ad07b0c273e39cfeb82fbf23e006 4253066 gnome optional balsa_2.2.4.orig.tar.gz
 98de208b1a5387894fba00f23e4d4bb2 6391 gnome optional balsa_2.2.4-1.diff.gz
 8de72d254dce99359c6e083e3d1cef51 2118890 gnome optional balsa_2.2.4-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFBMSC0Qxo87aLX0pIRAqTPAJ45mQoICEy15ZsGhq2x5U88mfqa8ACfQbWN
CWprP+i8LqEkVQ/nXejmQG8=
=oLb2
-----END PGP SIGNATURE-----