diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-09-14 05:11:22 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-09-14 05:11:22 +0800 |
commit | c788ba0fafe0143c06efb32a633aef139d21e142 (patch) | |
tree | 2c593a485ad3d35f6f453f1f46b7a1394d828337 /shell/e-shell.c | |
parent | 080576bf0dc05633d2e0d4ed7fef8db98a853fc9 (diff) | |
download | gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.tar gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.tar.gz gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.tar.bz2 gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.tar.lz gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.tar.xz gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.tar.zst gsoc2013-evolution-c788ba0fafe0143c06efb32a633aef139d21e142.zip |
Disable DnD on the EStorageSetView to avoid strange behaviors.
* e-shell-view.c (pop_up_folder_bar): Disable DnD on the
EStorageSetView to avoid strange behaviors.
(reparent_storage_set_view_box_and_destroy_popup): Re-enable DnD
here.
(popdown_transient_folder_bar): And here as well.
* evolution-storage-set-view-factory.c
(evolution_storage_set_view_factory_new_view): Disable DnD on the
EStorageSetView.
* e-shell-folder-selection-dialog.c
(e_shell_folder_selection_dialog_construct): Disable DnD on the
EStorageSetView.
* e-shell-folder-creation-dialog.c (add_storage_set_view): Disable
DnD on the EStorageSetView.
* e-storage-set-view.c: New member `allow_dnd' in
`EStorageSetViewPrivate'.
(init): Init to `allow_dnd' %TRUE.
(tree_start_drag): If `allow_dnd' is false, don't start the drag
and return %FALSE.
(tree_drag_motion): If `allow_dnd' is false, return %FALSE.
(e_storage_set_view_get_allow_dnd): New.
(e_storage_set_view_set_allow_dnd): New.
svn path=/trunk/; revision=12810
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r-- | shell/e-shell.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c index a328e3384e..aa258f5bea 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -112,6 +112,11 @@ struct _EShellPrivate { /* Configuration Database */ Bonobo_ConfigDatabase db; + + /* Whether the shell is succesfully initialized. This is needed during + the start-up sequence, to avoid CORBA calls to do make wrong things + to happen while the shell is initializing. */ + gboolean is_initialized; }; @@ -842,6 +847,7 @@ init (EShell *shell) priv->crash_type_names = NULL; priv->line_status = E_SHELL_LINE_STATUS_ONLINE; priv->db = CORBA_OBJECT_NIL; + priv->is_initialized = FALSE; shell->priv = priv; } @@ -904,18 +910,7 @@ e_shell_construct (EShell *shell, } CORBA_exception_free (&ev); - - /* Now we can register into OAF. Notice that we shouldn't be - registering into OAF until we are sure we can complete the - process. */ - - /* FIXME: Multi-display stuff. */ - corba_object = bonobo_object_corba_objref (BONOBO_OBJECT (shell)); - if (oaf_active_server_register (iid, corba_object) != OAF_REG_SUCCESS) { - CORBA_exception_free (&ev); - return E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER; - } - + if (! show_splash) { splash = NULL; } else { @@ -984,6 +979,17 @@ e_shell_construct (EShell *shell, e_shortcuts_add_default_group (priv->shortcuts); g_free (shortcut_path); + + /* Now we can register into OAF. Notice that we shouldn't be + registering into OAF until we are initialized. */ + + /* FIXME: Multi-display stuff. */ + corba_object = bonobo_object_corba_objref (BONOBO_OBJECT (shell)); + if (oaf_active_server_register (iid, corba_object) != OAF_REG_SUCCESS) { + CORBA_exception_free (&ev); + return E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER; + } + return E_SHELL_CONSTRUCT_RESULT_OK; } |