diff --git a/data/core/rootview.lua b/data/core/rootview.lua index 8bc402f9..47f028cb 100644 --- a/data/core/rootview.lua +++ b/data/core/rootview.lua @@ -596,8 +596,6 @@ end function Node:close_all_docviews(keep_active) - local node_active_view = self.active_view - local lost_active_view = false if self.type == "leaf" then local i = 1 while i <= #self.views do @@ -605,9 +603,6 @@ function Node:close_all_docviews(keep_active) if (view:is(DocView) or view:is(LogView)) and not view:is(CommandView) and (not keep_active or view ~= self.active_view) then table.remove(self.views, i) - if view == node_active_view then - lost_active_view = true - end else i = i + 1 end @@ -619,9 +614,10 @@ function Node:close_all_docviews(keep_active) -- top call, the primary node will take the active view anyway. -- Set the empty view and takes the active view. self:add_view(EmptyView()) - elseif #self.views > 0 and lost_active_view then - -- In practice we never get there but if a view remain we need - -- to reset the Node's active view. + elseif #self.views > 0 then + -- In practice we never get there but if it ever happen we need to + -- reset the Node's active view. We do this irrespectively of what the + -- previous active view was. self:set_active_view(self.views[1]) end else