nautilus r14651 - in trunk: . src
- From: cneumair svn gnome org
- To: svn-commits-list gnome org
- Subject: nautilus r14651 - in trunk: . src
- Date: Sun, 21 Sep 2008 22:09:52 +0000 (UTC)
Author: cneumair
Date: Sun Sep 21 22:09:52 2008
New Revision: 14651
URL: http://svn.gnome.org/viewvc/nautilus?rev=14651&view=rev
Log:
2008-09-22 Christian Neumair <cneumair gnome org>
* src/nautilus-window-manage-views.c:
* src/nautilus-window-manage-views.h:
* src/nautilus-window.c (nautilus_window_destroy),
(nautilus_window_close_slot), (nautilus_window_slot_close):
Remove nautilus_window_manage_views_destroy(), since everything it
does is achieved by nautilus_window_close_slot(). Also ensure that
slots are removed from the active slot history as they are closed.
Fixes #553081.
Modified:
trunk/ChangeLog
trunk/src/nautilus-window-manage-views.c
trunk/src/nautilus-window-manage-views.h
trunk/src/nautilus-window.c
Modified: trunk/src/nautilus-window-manage-views.c
==============================================================================
--- trunk/src/nautilus-window-manage-views.c (original)
+++ trunk/src/nautilus-window-manage-views.c Sun Sep 21 22:09:52 2008
@@ -2019,28 +2019,6 @@
}
void
-nautilus_window_manage_views_destroy (NautilusWindow *window)
-{
- NautilusWindowSlot *slot;
- GList *l;
-
- /* Disconnect view signals here so they don't trigger when
- * views are destroyed.
- */
-
- for (l = window->details->slots; l != NULL; l = l->next) {
- slot = l->data;
-
- if (slot->content_view != NULL) {
- nautilus_window_slot_disconnect_content_view (slot, slot->content_view);
- }
- if (slot->new_content_view != NULL) {
- nautilus_window_slot_disconnect_content_view (slot, slot->new_content_view);
- }
- }
-}
-
-void
nautilus_window_manage_views_close_slot (NautilusWindow *window,
NautilusWindowSlot *slot)
{
Modified: trunk/src/nautilus-window-manage-views.h
==============================================================================
--- trunk/src/nautilus-window-manage-views.h (original)
+++ trunk/src/nautilus-window-manage-views.h Sun Sep 21 22:09:52 2008
@@ -30,7 +30,6 @@
#include "nautilus-window.h"
#include "nautilus-navigation-window.h"
-void nautilus_window_manage_views_destroy (NautilusWindow *window);
void nautilus_window_manage_views_close_slot (NautilusWindow *window,
NautilusWindowSlot *slot);
Modified: trunk/src/nautilus-window.c
==============================================================================
--- trunk/src/nautilus-window.c (original)
+++ trunk/src/nautilus-window.c Sun Sep 21 22:09:52 2008
@@ -609,8 +609,6 @@
}
g_list_free (slots);
- nautilus_window_manage_views_destroy (window);
-
GTK_OBJECT_CLASS (nautilus_window_parent_class)->destroy (object);
}
@@ -737,6 +735,8 @@
close_slot, (window, slot));
window->details->slots = g_list_remove (window->details->slots, slot);
+ window->details->active_slots = g_list_remove (window->details->active_slots, slot);
+
}
void
@@ -791,16 +791,6 @@
}
static inline NautilusWindowSlot *
-get_last_active_slot (NautilusWindow *window)
-{
- if (window->details->active_slots != NULL) {
- return NAUTILUS_WINDOW_SLOT (window->details->active_slots->data);
- }
-
- return NULL;
-}
-
-static inline NautilusWindowSlot *
get_first_inactive_slot (NautilusWindow *window)
{
GList *l;
@@ -824,10 +814,15 @@
window = slot->window;
if (window != NULL) {
- window->details->active_slots = g_list_remove (window->details->active_slots, slot);
-
if (window->details->active_slot == slot) {
- next_slot = get_last_active_slot (window);
+ g_assert (window->details->active_slots != NULL);
+ g_assert (window->details->active_slots->data == slot);
+
+ next_slot = NULL;
+ if (window->details->active_slots->next != NULL) {
+ next_slot = NAUTILUS_WINDOW_SLOT (window->details->active_slots->next->data);
+ }
+
if (next_slot == NULL) {
next_slot = get_first_inactive_slot (window);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]