Fix DanW's fix. Pass the right arguments to mail_msg_destroy.

2001-07-20  Peter Williams  <peterw@ximian.com>

	* mail-mt.c (mail_msgport_replied): Fix DanW's fix. Pass the right
	arguments to mail_msg_destroy.

	* component-factory.c (component_fn): Don't populate the context
	menu; our only action didn't even work.
	(populate_folder_context_menu): Removed. ChangeFolderProperties
	needs a FolderBrowser which we don't have. It didn't even work
	before.

	* mail-local.c (mail_local_reconfigure_folder): Bring the creation
	of the hash table to the beginning to prevent warnings. Complain
	if the mailbox is non-local.

svn path=/trunk/; revision=11266
This commit is contained in:
Peter Williams
2001-07-20 19:15:04 +00:00
committed by Peter Williams
parent 78cdb79e5a
commit fcce65ec8a
4 changed files with 41 additions and 6 deletions

View File

@ -1,3 +1,18 @@
2001-07-20 Peter Williams <peterw@ximian.com>
* mail-mt.c (mail_msgport_replied): Fix DanW's fix. Pass the right
arguments to mail_msg_destroy.
* component-factory.c (component_fn): Don't populate the context
menu; our only action didn't even work.
(populate_folder_context_menu): Removed. ChangeFolderProperties
needs a FolderBrowser which we don't have. It didn't even work
before.
* mail-local.c (mail_local_reconfigure_folder): Bring the creation
of the hash table to the beginning to prevent warnings. Complain
if the mailbox is non-local.
2001-07-20 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (filter_folder_filter): Don't expunge the source

View File

@ -300,6 +300,7 @@ xfer_folder (EvolutionShellComponent *shell_component,
CORBA_exception_free (&ev);
}
#if 0
static void
populate_folder_context_menu (EvolutionShellComponent *shell_component,
BonoboUIComponent *uic,
@ -317,6 +318,7 @@ populate_folder_context_menu (EvolutionShellComponent *shell_component,
bonobo_ui_component_set_translate (uic, EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER,
popup_xml, NULL);
}
#endif
static char *
get_dnd_selection (EvolutionShellComponent *shell_component,
@ -671,7 +673,7 @@ component_fn (BonoboGenericFactory *factory, void *closure)
create_folder,
remove_folder,
xfer_folder,
populate_folder_context_menu,
/*populate_folder_context_menu*/NULL,
get_dnd_selection,
NULL);

View File

@ -49,6 +49,7 @@
#include "evolution-shell-component.h"
#include "evolution-storage-listener.h"
#include "gal/widgets/e-gui-utils.h"
#include "e-util/e-path.h"
#include "camel/camel.h"
@ -971,11 +972,29 @@ mail_local_reconfigure_folder (FolderBrowser *fb)
return;
}
if (!reconfigure_folder_hash)
reconfigure_folder_hash = g_hash_table_new (g_direct_hash, g_direct_equal);
if ((gd = g_hash_table_lookup (reconfigure_folder_hash, fb->folder))) {
/* FIXME: raise this dialog?? */
return;
}
/* check if we can work on this folder */
name = strchr (fb->uri, '/');
if (name) {
while (*name == '/')
name++;
/* we just want to see if it's NULL or not */
name = (char *) g_hash_table_lookup (local_store->folders, name);
}
if (name == NULL) {
e_notice (NULL, GNOME_MESSAGE_BOX_WARNING,
_("You cannot change the format of a non-local folder."));
return;
}
m = mail_msg_new (&reconfigure_folder_op, NULL, sizeof (*m));
store = camel_folder_get_parent_store (fb->folder);
@ -1002,9 +1021,6 @@ mail_local_reconfigure_folder (FolderBrowser *fb)
gtk_signal_connect (GTK_OBJECT (gd), "clicked", reconfigure_clicked, m);
gtk_object_unref (GTK_OBJECT (gui));
if (!reconfigure_folder_hash)
reconfigure_folder_hash = g_hash_table_new (g_direct_hash, g_direct_equal);
g_hash_table_insert (reconfigure_folder_hash, (gpointer) fb->folder, (gpointer) gd);
gnome_dialog_run_and_close (GNOME_DIALOG (gd));

View File

@ -60,6 +60,8 @@ static pthread_cond_t mail_msg_cond = PTHREAD_COND_INITIALIZER;
pthread_t mail_gui_thread;
static void mail_msg_destroy(EThread *e, EMsg *msg, void *data);
void *mail_msg_new(mail_msg_op_t *ops, EMsgPort *reply_port, size_t size)
{
struct _mail_msg *msg;
@ -257,7 +259,7 @@ mail_msgport_replied(GIOChannel *source, GIOCondition cond, void *d)
if (m->ops->reply_msg)
m->ops->reply_msg(m);
mail_msg_check_error(m);
mail_msg_destroy(m);
mail_msg_destroy(NULL, m, NULL);
}
return TRUE;