From 9549c683578858f2ae5e811ed874b2158e4077f0 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Sat, 11 Mar 2000 01:45:48 +0000 Subject: Do not pass the INIT_SERVER flag to gnome_CORBA_init_with_popt_table(). 2000-03-10 Federico Mena Quintero * gui/main.c (main): Do not pass the INIT_SERVER flag to gnome_CORBA_init_with_popt_table(). Check for exceptions properly. (main): Initialize Bonobo. (main): Call process_dates() to parse the dates from the command line before we dump the events or the TODOs. (main): Use bonobo_main() instead of gtk_main(). svn path=/trunk/; revision=2097 --- calendar/gui/main.c | 65 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 22 deletions(-) (limited to 'calendar/gui') diff --git a/calendar/gui/main.c b/calendar/gui/main.c index c4cd11b860..3d30c4d1c5 100644 --- a/calendar/gui/main.c +++ b/calendar/gui/main.c @@ -4,25 +4,28 @@ * * Authors: * Miguel de Icaza (miguel@kernel.org) - * Federico Mena (federico@nuclecu.unam.mx) + * Federico Mena (federico@helixcode.com) */ #include -#include -#include #include +#include #include #include #include #include #include +#include +#include +#include +#include /* #include "calendar.h" DELETE */ #include "alarm.h" #include "eventedit.h" #include "gnome-cal.h" #include "main.h" -#include "cal-util/timeutil.h" -#include "corba-cal-factory.h" + + #define COOKIE_USER_HOME_DIR ((char *) -1) @@ -772,6 +775,8 @@ dump_events (void) process_dates (); init_calendar (); + /* FIXME: this is not waiting for the calendar to be loaded */ + /* DELETE cal = calendar_new (full_name, CALENDAR_INIT_ALARMS); s = calendar_load (cal, load_file ? load_file : user_calendar_file); @@ -827,6 +832,8 @@ dump_todo (void) process_dates (); init_calendar (); + /* FIXME: this is not waiting for the calendar to be loaded */ + /* DELETE cal = calendar_new (full_name, CALENDAR_INIT_ALARMS); s = calendar_load (cal, load_file ? load_file : user_calendar_file); @@ -986,8 +993,10 @@ session_save_state (GnomeClient *client, gint phase, GnomeRestartStyle save_styl return 1; } + + int -main(int argc, char *argv[]) +main (int argc, char **argv) { GnomeClient *client; CORBA_Environment ev; @@ -996,46 +1005,56 @@ main(int argc, char *argv[]) textdomain (PACKAGE); CORBA_exception_init (&ev); + gnome_CORBA_init_with_popt_table ("calendar", VERSION, &argc, argv, + options, 0, NULL, 0, &ev); + if (ev._major != CORBA_NO_EXCEPTION) { + g_message ("main(): could not initialize the ORB"); + CORBA_exception_free (&ev); + exit (EXIT_FAILURE); + } + CORBA_exception_free (&ev); - gnome_CORBA_init_with_popt_table ( - "calendar", VERSION, &argc, argv, - options, 0, NULL, GNORBA_INIT_SERVER_FUNC, &ev); - - orb = gnome_CORBA_ORB (); - poa = (PortableServer_POA)CORBA_ORB_resolve_initial_references (orb, "RootPOA", &ev); - if (ev._major == CORBA_NO_EXCEPTION){ - init_corba_server (); + if (!bonobo_init (CORBA_OBJECT_NIL, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL)) { + g_message ("main(): could not initialize Bonobo"); + exit (EXIT_FAILURE); } + process_dates (); + if (show_events) dump_events (); + if (show_todo) dump_todo (); client = gnome_master_client (); - if (client){ + if (client) { gtk_signal_connect (GTK_OBJECT (client), "save_yourself", GTK_SIGNAL_FUNC (session_save_state), argv [0]); gtk_signal_connect (GTK_OBJECT (client), "die", GTK_SIGNAL_FUNC (session_die), NULL); } - process_dates (); alarm_init (); init_calendar (); - /* - * Load all of the calendars specifies in the command line with - * the geometry specificied -if any- + /* FIXME: the following is broken-ish, since geometries/views are not matched + * to calendars, but they are just picked in whatever order they came in + * from the command line. + */ + + /* Load all of the calendars specified in the command line with the + * geometry specified, if any. */ - if (start_calendars){ + if (start_calendars) { GList *p, *g, *v; char *title; p = start_calendars; g = start_geometries; v = start_views; - while (p){ + + while (p) { char *file = p->data; char *geometry = g ? g->data : NULL; char *page_name = v ? v->data : NULL; @@ -1047,6 +1066,7 @@ main(int argc, char *argv[]) title = full_name; else title = file; + new_calendar (title, file, geometry, page_name, startup_hidden); p = p->next; @@ -1062,7 +1082,8 @@ main(int argc, char *argv[]) new_calendar (full_name, user_calendar_file, geometry, page_name, startup_hidden); } - gtk_main (); + + bonobo_main (); return 0; } -- cgit v1.2.3