diff options
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/e-shell-startup-wizard.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 8567caf2ad..dd6dd8568a 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,8 @@ +2004-01-08 Not Zed <NotZed@Ximian.com> + + * e-shell-startup-wizard.c (get_intelligent_importers): check that + we found any importers before deferencing the pointer. + 2004-01-05 ERDI Gergo <cactus@cactus.rulez.org> * e-task-bar.c (init): Create a separate label to the left of the diff --git a/shell/e-shell-startup-wizard.c b/shell/e-shell-startup-wizard.c index ac6d6a4770..9e04cbf7bd 100644 --- a/shell/e-shell-startup-wizard.c +++ b/shell/e-shell-startup-wizard.c @@ -524,6 +524,12 @@ get_intelligent_importers (void) query = g_strdup_printf ("repo_ids.has ('IDL:GNOME/Evolution/IntelligentImporter:%s'", BASE_VERSION); info_list = bonobo_activation_query (query, NULL, &ev); g_free (query); + + if (BONOBO_EX (&ev) || info_list == CORBA_OBJECT_NIL) { + g_warning ("Cannot find importers -- %s", BONOBO_EX_REPOID (&ev)); + CORBA_exception_free (&ev); + return NULL; + } CORBA_exception_free (&ev); for (i = 0; i < info_list->_length; i++) { |