aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.h
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-08-03 22:27:44 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-08-03 22:27:44 +0800
commit0039ef5422e980484c47d2fe97c3edbf63edd5b8 (patch)
treebdc0ba031ab17a176fe758f43c7a12f508fdced5 /shell/e-shell.h
parentb5c3ca3079407391e099eea277f37ad45e5866d7 (diff)
downloadgsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.tar
gsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.tar.gz
gsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.tar.bz2
gsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.tar.lz
gsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.tar.xz
gsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.tar.zst
gsoc2013-evolution-0039ef5422e980484c47d2fe97c3edbf63edd5b8.zip
[Fix #6232, the thirty-four-splash-screens-at-startup bug.]
* e-shell.c (setup_local_storage): Add an E_STORAGE() cast to prevent a warning. * main.c (idle_cb): Only try to activate from the shell ID if the result is `E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER'; if there is a different error, spit out a dialog box with a description of it and exit instead. * e-shell.c (e_shell_construct): Return an `EShellConstructResult' describing what kind of result we had. Show the splash after the DB has been reached, not before. (e_shell_construct_result_to_string): New function to get a descriptive string out of an `EShellConstructResult'. (e_shell_new): New arg @construct_result_return to return a description of the result of the operation. * e-shell.h: New enum `EShellConstructResult'. * e-shell.c (impl_Shell_createNewView): Raise `InternalError' instead of crashing if the shell_view returns a CORBA_OBJECT_NIL. * Evolution-Shell.idl: New exception `InternalError'. `createNewView' and `handleURI' can raise it. svn path=/trunk/; revision=11611
Diffstat (limited to 'shell/e-shell.h')
-rw-r--r--shell/e-shell.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/shell/e-shell.h b/shell/e-shell.h
index 1f9406bd83..8aaa2d5060 100644
--- a/shell/e-shell.h
+++ b/shell/e-shell.h
@@ -78,14 +78,25 @@ struct _EShellClass {
/* ID for registering the shell in the OAF name service. */
#define E_SHELL_OAFIID "OAFIID:GNOME_Evolution_Shell"
+enum _EShellConstructResult {
+ E_SHELL_CONSTRUCT_RESULT_OK,
+ E_SHELL_CONSTRUCT_RESULT_INVALIDARG,
+ E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER,
+ E_SHELL_CONSTRUCT_RESULT_NOCONFIGDB,
+ E_SHELL_CONSTRUCT_RESULT_GENERICERROR
+};
+typedef enum _EShellConstructResult EShellConstructResult;
+
+
-GtkType e_shell_get_type (void);
-gboolean e_shell_construct (EShell *shell,
- const char *iid,
- const char *local_directory,
- gboolean show_splash);
-EShell *e_shell_new (const char *local_directory,
- gboolean show_splash);
+GtkType e_shell_get_type (void);
+EShellConstructResult e_shell_construct (EShell *shell,
+ const char *iid,
+ const char *local_directory,
+ gboolean show_splash);
+EShell *e_shell_new (const char *local_directory,
+ gboolean show_splash,
+ EShellConstructResult *construct_result_return);
EShellView *e_shell_create_view (EShell *shell,
const char *uri);
@@ -117,6 +128,9 @@ void e_shell_go_online (EShell *shell,
Bonobo_ConfigDatabase e_shell_get_config_db (EShell *shell);
+
+const char *e_shell_construct_result_to_string (EShellConstructResult result);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */