diff options
author | Elliot Lee <sopwith@src.gnome.org> | 2000-01-05 23:21:06 +0000 |
---|---|---|
committer | Elliot Lee <sopwith@src.gnome.org> | 2000-01-05 23:21:06 +0000 |
commit | 6018bcea245c2e4a9c50055fe6207435850549ff (patch) | |
tree | 2de36703f80e7a24435e69d4194eb56f62b55454 /src/nautilus-view-frame-nautilus-view.c | |
parent | cdf570ee034dc1349846eeb5f78775a23ea2eb47 (diff) | |
download | nautilus-6018bcea245c2e4a9c50055fe6207435850549ff.tar.gz |
Add support for the location change state machine and related
* src/ntl-types.h, src/ntl-uri-map.[ch], src/ntl-window-msgs.c, src/ntl-window.[ch]:
Add support for the location change state machine and related notifications,
to allow much better error handling.
* src/ntl-view.[ch]: Catch client failures, also allow for active sensing of client death.
* src/file-manager/fm-directory-view.c: Send progress notifications.
* components/html/ntl-web-browser.c: Send progress
notifications. Try to fix crashes caused by ending an error stream
twice.
Diffstat (limited to 'src/nautilus-view-frame-nautilus-view.c')
-rw-r--r-- | src/nautilus-view-frame-nautilus-view.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/nautilus-view-frame-nautilus-view.c b/src/nautilus-view-frame-nautilus-view.c index abb30a995..eb9e939a4 100644 --- a/src/nautilus-view-frame-nautilus-view.c +++ b/src/nautilus-view-frame-nautilus-view.c @@ -61,6 +61,8 @@ nv_show_properties(NautilusView *view, CORBA_Environment *ev) NautilusViewInfo *nvi = view->component_data; Nautilus_View_show_properties(nvi->view_client, ev); + if(ev->_major != CORBA_NO_EXCEPTION) + gtk_object_destroy(GTK_OBJECT(view)); } static void @@ -69,6 +71,8 @@ nv_save_state(NautilusView *view, const char *config_path, CORBA_Environment *ev NautilusViewInfo *nvi = view->component_data; Nautilus_View_save_state(nvi->view_client, config_path, ev); + if(ev->_major != CORBA_NO_EXCEPTION) + gtk_object_destroy(GTK_OBJECT(view)); } static void @@ -77,6 +81,8 @@ nv_load_state(NautilusView *view, const char *config_path, CORBA_Environment *ev NautilusViewInfo *nvi = view->component_data; Nautilus_View_load_state(nvi->view_client, config_path, ev); + if(ev->_major != CORBA_NO_EXCEPTION) + gtk_object_destroy(GTK_OBJECT(view)); } static void @@ -85,6 +91,8 @@ nv_notify_location_change(NautilusView *view, Nautilus_NavigationInfo *nav_ctx, NautilusViewInfo *nvi = view->component_data; Nautilus_View_notify_location_change(nvi->view_client, nav_ctx, ev); + if(ev->_major != CORBA_NO_EXCEPTION) + gtk_object_destroy(GTK_OBJECT(view)); } static void @@ -93,6 +101,8 @@ nv_notify_selection_change(NautilusView *view, Nautilus_SelectionInfo *nav_ctx, NautilusViewInfo *nvi = view->component_data; Nautilus_View_notify_selection_change(nvi->view_client, nav_ctx, ev); + if(ev->_major != CORBA_NO_EXCEPTION) + gtk_object_destroy(GTK_OBJECT(view)); } static void @@ -101,9 +111,10 @@ nv_stop_location_change(NautilusView *view, CORBA_Environment *ev) NautilusViewInfo *nvi = view->component_data; Nautilus_View_stop_location_change(nvi->view_client, ev); + if(ev->_major != CORBA_NO_EXCEPTION) + gtk_object_destroy(GTK_OBJECT(view)); } - static char * nv_get_label(NautilusView *view, CORBA_Environment *ev) { |