@@ -139,28 +139,52 @@ fill_menu (CajaNavigationWindow *window,
139139 GtkWidget * menu_item ;
140140 int index ;
141141 GList * list ;
142+ gboolean list_void ;
142143
143144 g_assert (CAJA_IS_NAVIGATION_WINDOW (window ));
144145
145146 slot = CAJA_NAVIGATION_WINDOW_SLOT (CAJA_WINDOW (window )-> details -> active_pane -> active_slot );
146147
147148 list = back ? slot -> back_list : slot -> forward_list ;
148149 index = 0 ;
150+ list_void = TRUE;
151+
149152 while (list != NULL )
150153 {
151154 menu_item = caja_bookmark_menu_item_new (CAJA_BOOKMARK (list -> data ));
152- g_object_set_data (G_OBJECT (menu_item ), "user_data" , GINT_TO_POINTER (index ));
153- gtk_widget_show (GTK_WIDGET (menu_item ));
154- g_signal_connect_object (menu_item , "activate" ,
155- back
156- ? G_CALLBACK (activate_back_menu_item_callback )
157- : G_CALLBACK (activate_forward_menu_item_callback ),
158- window , 0 );
159-
160- gtk_menu_shell_append (GTK_MENU_SHELL (menu ), menu_item );
155+
156+ if (menu_item ) {
157+ list_void = FALSE;
158+ g_object_set_data (G_OBJECT (menu_item ), "user_data" , GINT_TO_POINTER (index ));
159+ gtk_widget_show (GTK_WIDGET (menu_item ));
160+ g_signal_connect_object (menu_item , "activate" ,
161+ back
162+ ? G_CALLBACK (activate_back_menu_item_callback )
163+ : G_CALLBACK (activate_forward_menu_item_callback ),
164+ window , 0 );
165+
166+ gtk_menu_shell_append (GTK_MENU_SHELL (menu ), menu_item );
167+ }
168+
161169 list = g_list_next (list );
162170 ++ index ;
163171 }
172+
173+ if (list_void )
174+ {
175+ gtk_menu_shell_append (GTK_MENU_SHELL (menu ),
176+ eel_image_menu_item_new_from_icon ("dialog-error" , _ ("folder removed" )));
177+ if (back )
178+ {
179+ caja_navigation_window_slot_clear_back_list (slot );
180+ caja_navigation_window_allow_back (window , FALSE);
181+ }
182+ else
183+ {
184+ caja_navigation_window_slot_clear_forward_list (slot );
185+ caja_navigation_window_allow_forward (window , FALSE);
186+ }
187+ }
164188}
165189
166190static void
0 commit comments