Index: composer/ChangeLog
===================================================================
--- composer/ChangeLog	(revision 37501)
+++ composer/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2009-04-09  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #243241
+
+	* e-msg-composer.c: (check_empty_from), (msg_composer_init):
+	Warn user when no active default account found.
+
 2009-03-19  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #574680
Index: composer/e-msg-composer.c
===================================================================
--- composer/e-msg-composer.c	(revision 37501)
+++ composer/e-msg-composer.c	(working copy)
@@ -2733,6 +2733,44 @@ msg_composer_uri_requested (GtkhtmlEdito
 }
 
 static void
+check_empty_from (EMsgComposer *composer, gpointer user_data)
+{
+	/* do not try next time again */
+	g_signal_handlers_disconnect_by_func (composer, check_empty_from, NULL);
+
+	if (!e_composer_header_table_get_account (E_COMPOSER_HEADER_TABLE (composer->priv->header_table))) {
+		const char *key = "/apps/evolution/mail/composer/skip_warn_empty_from";
+		GConfClient *gconf = gconf_client_get_default ();
+
+		if (!gconf_client_get_bool (gconf, key, NULL)) {
+			GtkWidget *dialog, *checkbox, *parent;
+
+			parent = gtk_widget_get_toplevel (GTK_WIDGET (composer));
+			dialog = gtk_message_dialog_new (
+				(GtkWindow *)parent,
+				GTK_DIALOG_DESTROY_WITH_PARENT,
+				GTK_MESSAGE_WARNING,
+				GTK_BUTTONS_OK,
+				"%s", 
+				_("There is no active default account, choose the one yourself."));
+
+			checkbox = gtk_check_button_new_with_mnemonic (_("_Do not ask me again."));
+			gtk_widget_show (checkbox);
+			gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), checkbox, TRUE, TRUE, 0);
+
+			gtk_dialog_run (GTK_DIALOG (dialog));
+
+			if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)))
+				gconf_client_set_bool (gconf, key, TRUE, NULL);
+
+			gtk_widget_destroy (dialog);
+		}
+
+		g_object_unref (gconf);
+	}
+}
+
+static void
 msg_composer_class_init (EMsgComposerClass *class)
 {
 	GObjectClass *object_class;
@@ -2908,6 +2946,9 @@ msg_composer_init (EMsgComposer *compose
 
 	e_plugin_ui_register_manager (
 		"org.gnome.evolution.composer", manager, composer);
+
+	/* Check for empty From on "show" signal */
+	g_signal_connect (composer, "show", G_CALLBACK (check_empty_from), NULL);
 }
 
 GType
