Explicitly change `window->cv_progress_done' and

* src/ntl-window-msgs.c (nautilus_window_load_content_view):
	Explicitly change `window->cv_progress_done' and
	`window->cv_progress_error' to FALSE when loading a new content
	view, to avoid being screwed up by extra done or error
	notifications from the last content view. This is really just
	putting more spit and bubble gum on the pile though.
This commit is contained in:
Maciej Stachowiak 2000-03-07 06:22:14 +00:00
parent 2e7b281794
commit 27be8ae936
3 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,12 @@
2000-03-06 Maciej Stachowiak <mjs@eazel.com>
* src/ntl-window-msgs.c (nautilus_window_load_content_view):
Explicitly change `window->cv_progress_done' and
`window->cv_progress_error' to FALSE when loading a new content
view, to avoid being screwed up by extra done or error
notifications from the last content view. This is really just
putting more spit and bubble gum on the pile though.
2000-03-06 Andy Hertzfeld <andy@eazel.com>
src/nautilus-index-title.c:

View file

@ -524,6 +524,10 @@ nautilus_window_load_content_view(NautilusWindow *window,
gtk_widget_unref(GTK_WIDGET(new_view));
new_view = NULL;
}
/* Avoid being fooled by extra done notifications from the last view.
This is a HACK because the state machine SUCKS. */
window->cv_progress_done = FALSE;
window->cv_progress_error = FALSE;
}
else
new_view = window->content_view;
@ -822,8 +826,9 @@ nautilus_window_set_state_info(NautilusWindow *window, ...)
new_view = va_arg(args, NautilusView*);
/* Don't ref here, reference is held by widget hierarchy. */
window->new_content_view = new_view;
if(!window->pending_ni)
if(!window->pending_ni) {
window->view_activation_complete = TRUE;
}
window->changes_pending = TRUE;
window->views_shown = FALSE;
break;

View file

@ -524,6 +524,10 @@ nautilus_window_load_content_view(NautilusWindow *window,
gtk_widget_unref(GTK_WIDGET(new_view));
new_view = NULL;
}
/* Avoid being fooled by extra done notifications from the last view.
This is a HACK because the state machine SUCKS. */
window->cv_progress_done = FALSE;
window->cv_progress_error = FALSE;
}
else
new_view = window->content_view;
@ -822,8 +826,9 @@ nautilus_window_set_state_info(NautilusWindow *window, ...)
new_view = va_arg(args, NautilusView*);
/* Don't ref here, reference is held by widget hierarchy. */
window->new_content_view = new_view;
if(!window->pending_ni)
if(!window->pending_ni) {
window->view_activation_complete = TRUE;
}
window->changes_pending = TRUE;
window->views_shown = FALSE;
break;