diff src/plugins/trash/trash-plugin.c @ 8487:cee696a95320 HEAD

Call next hook_mail_namespaces_created in correct order.
author Timo Sirainen <tss@iki.fi>
date Mon, 24 Nov 2008 00:08:03 +0200
parents d4eab639c253
children b9faf4db2a9f
line wrap: on
line diff
--- a/src/plugins/trash/trash-plugin.c	Mon Nov 24 00:06:15 2008 +0200
+++ b/src/plugins/trash/trash-plugin.c	Mon Nov 24 00:08:03 2008 +0200
@@ -302,29 +302,25 @@
 	struct trash_user *tuser;
 	const char *env;
 
-	if (trash_next_hook_mail_namespaces_created != NULL)
-		trash_next_hook_mail_namespaces_created(namespaces);
-
 	env = getenv("TRASH");
 	if (env == NULL) {
 		if (getenv("DEBUG") != NULL)
 			i_info("trash: No trash setting - plugin disabled");
-		return;
-	}
+	} else if (quota_set == NULL) {
+		i_error("trash plugin: quota plugin not initialized");
+	} else {
+		tuser = p_new(user->pool, struct trash_user, 1);
+		tuser->module_ctx.super = user->v;
+		MODULE_CONTEXT_SET(user, trash_user_module, tuser);
 
-	if (quota_set == NULL) {
-		i_error("trash plugin: quota plugin not initialized");
-		return;
+		if (read_configuration(user, env) == 0) {
+			trash_next_quota_test_alloc = quota_set->test_alloc;
+			quota_set->test_alloc = trash_quota_test_alloc;
+		}
 	}
 
-	tuser = p_new(user->pool, struct trash_user, 1);
-	tuser->module_ctx.super = user->v;
-	MODULE_CONTEXT_SET(user, trash_user_module, tuser);
-
-	if (read_configuration(user, env) == 0) {
-		trash_next_quota_test_alloc = quota_set->test_alloc;
-		quota_set->test_alloc = trash_quota_test_alloc;
-	}
+	if (trash_next_hook_mail_namespaces_created != NULL)
+		trash_next_hook_mail_namespaces_created(namespaces);
 }
 
 void trash_plugin_init(void)