From 2faa8ec4f1a2c12316e19ff25be58fe5f51f8d81 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Thu, 21 Jun 2018 14:39:27 +0200 Subject: [PATCH] Fix windows boot drive folder bug, fixes #4629 --- rtgui/dirbrowser.cc | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/rtgui/dirbrowser.cc b/rtgui/dirbrowser.cc index 23d1259ba..bf4a31f49 100644 --- a/rtgui/dirbrowser.cc +++ b/rtgui/dirbrowser.cc @@ -48,14 +48,26 @@ std::vector listSubDirs (const Glib::RefPtr& dir, bool auto enumerator = dir->enumerate_children ("standard::name,standard::type,standard::is-hidden"); - while (auto file = enumerator->next_file ()) { - if (file->get_file_type () != Gio::FILE_TYPE_DIRECTORY) { - continue; + while (true) { + try { + auto file = enumerator->next_file (); + if (!file) { + break; + } + if (file->get_file_type () != Gio::FILE_TYPE_DIRECTORY) { + continue; + } + if (!addHidden && file->is_hidden ()) { + continue; + } + subDirs.push_back (file->get_name ()); + } catch (const Glib::Exception& exception) { + + if (options.rtSettings.verbose) { + std::cerr << exception.what () << std::endl; + } + } - if (!addHidden && file->is_hidden ()) { - continue; - } - subDirs.push_back (file->get_name ()); } } catch (const Glib::Exception& exception) {