Browse Source

Now correctly removes opened subdirectories when closing a directory. This fixes a crash when changes happened in a subdirectory that had one of its parent/grandparent/etc closed

merge-requests/365/head
eidheim 10 years ago
parent
commit
0e5568351c
  1. 8
      src/directories.cc

8
src/directories.cc

@ -57,7 +57,13 @@ Directories::Directories() : Gtk::TreeView(), stop_update_thread(false) {
});
signal_row_collapsed().connect([this](const Gtk::TreeModel::iterator& iter, const Gtk::TreeModel::Path& path){
update_mutex.lock();
last_write_times.erase(iter->get_value(column_record.path).string());
auto directory_str=iter->get_value(column_record.path).string();
for(auto it=last_write_times.begin();it!=last_write_times.end();) {
if(directory_str==it->first.substr(0, directory_str.size()))
it=last_write_times.erase(it);
else
it++;
}
update_mutex.unlock();
auto children=iter->children();
if(children) {

Loading…
Cancel
Save