From 0fb08f3ff81575a4749d851404233f34252dd2f2 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 21 Oct 2003 18:28:34 +0000 Subject: Merge new-ui-branch to the trunk. svn path=/trunk/; revision=22964 --- mail/main.c | 161 ------------------------------------------------------------ 1 file changed, 161 deletions(-) delete mode 100644 mail/main.c (limited to 'mail/main.c') diff --git a/mail/main.c b/mail/main.c deleted file mode 100644 index b5192a9f5c..0000000000 --- a/mail/main.c +++ /dev/null @@ -1,161 +0,0 @@ -/* - * main.c: The core of the mail component - * - * Author: - * Miguel de Icaza (miguel@ximian.com) - * - * (C) 2000 Ximian, Inc. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include "e-util/e-passwords.h" -#include "e-util/e-proxy.h" - -#include "component-factory.h" -#include "composer/evolution-composer.h" -#include "mail.h" -#include "mail-mt.h" - -/*#define DO_MCHECK*/ - -#ifdef DO_MCHECK -static int blowup(int status) -{ - switch(status) { - case 1: - printf("Double free failure\n"); - break; - case 2: - printf("Memory clobbered before block\n"); - break; - case 3: - printf("Memory clobbered after block\n"); - break; - } - abort(); - return status; -} -#endif - -/* The GNOME SEGV handler will lose if it's not run from the main Gtk - * thread. So if we crash in another thread, redirect the signal. - */ -static void (*gnome_segv_handler) (int); - -static GStaticMutex segv_mutex = G_STATIC_MUTEX_INIT; - -static void -segv_redirect (int sig) -{ - if (pthread_self () == mail_gui_thread) - gnome_segv_handler (sig); - else { - pthread_kill (mail_gui_thread, sig); - /* We can't return from the signal handler or the - * thread may SEGV again. But we can't pthread_exit, - * because then the thread may get cleaned up before - * bug-buddy can get a stack trace. So we block by - * trying to lock a mutex we know is already locked. - */ - g_static_mutex_lock (&segv_mutex); - } -} - -int -main (int argc, char *argv []) -{ - CORBA_ORB orb; - struct sigaction sa, osa; - - /* used to make elfence work */ - free(malloc (10)); -#ifdef DO_MCHECK - /*mtrace();*/ - mcheck(blowup); -#endif - bindtextdomain (GETTEXT_PACKAGE, EVOLUTION_LOCALEDIR); - textdomain (GETTEXT_PACKAGE); - - g_thread_init (NULL); - - gnome_init_with_popt_table ("evolution-mail-component", VERSION, - argc, argv, bonobo_activation_popt_options, 0, NULL); - - sigaction (SIGSEGV, NULL, &osa); - if (osa.sa_handler != SIG_DFL) { - sa.sa_flags = 0; - sigemptyset (&sa.sa_mask); - sa.sa_handler = segv_redirect; - sigaction (SIGSEGV, &sa, NULL); - sigaction (SIGBUS, &sa, NULL); - sigaction (SIGFPE, &sa, NULL); - - sa.sa_handler = SIG_IGN; - sigaction (SIGXFSZ, &sa, NULL); - gnome_segv_handler = osa.sa_handler; - g_static_mutex_lock (&segv_mutex); - } - - if (!bonobo_init (&argc, argv)) { - g_error ("Mail component could not initialize Bonobo.\n" - "If there was a warning message about the " - "RootPOA, it probably means\nyou compiled " - "Bonobo against GOAD instead of Bonobo Activation."); - } - - gconf_init (argc, argv, NULL); - - glade_init (); - - gnome_vfs_init (); - - e_cursors_init (); - - e_proxy_init (); - - mail_config_init (); - mail_msg_init (); - - gnome_sound_init ("localhost"); - - component_factory_init (); - evolution_composer_factory_init (composer_send_cb, composer_save_draft_cb); - - if (gdk_threads_mutex) { - g_mutex_free (gdk_threads_mutex); - gdk_threads_mutex = NULL; - } - - g_print ("Evolution Mail ready and running.\n"); - - GDK_THREADS_ENTER (); - bonobo_main (); - - mail_msg_cleanup(); - - GDK_THREADS_LEAVE (); - - mail_config_write_on_exit (); - - e_passwords_shutdown (); - - gnome_sound_shutdown (); - - return 0; -} -- cgit v1.2.3