plugin treeview: fix crash
When the max_project_files is set to a higher value than the allowed system maximum file descriptors, and opening a project directory that causes dirmonitor to open a watch on a lot of files or directories, at least on MacOSX it causes all system.* file functions to return nil (for too many opened files) which breaks the project files scan.
This commit is contained in:
parent
3c682512e7
commit
173dd3aeb4
|
@ -153,6 +153,7 @@ function TreeView:each_item()
|
||||||
count_lines = count_lines + 1
|
count_lines = count_lines + 1
|
||||||
y = y + h
|
y = y + h
|
||||||
local i = 1
|
local i = 1
|
||||||
|
if dir.files then -- if consumed max sys file descriptors this can be nil
|
||||||
while i <= #dir.files and dir_cached.expanded do
|
while i <= #dir.files and dir_cached.expanded do
|
||||||
local item = dir.files[i]
|
local item = dir.files[i]
|
||||||
local cached = self:get_cached(dir, item, dir.name)
|
local cached = self:get_cached(dir, item, dir.name)
|
||||||
|
@ -175,6 +176,7 @@ function TreeView:each_item()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end -- while files
|
end -- while files
|
||||||
|
end
|
||||||
end -- for directories
|
end -- for directories
|
||||||
self.count_lines = count_lines
|
self.count_lines = count_lines
|
||||||
end)
|
end)
|
||||||
|
|
Loading…
Reference in New Issue