diff --git a/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy b/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy index d79c8bf2..8574f179 100644 --- a/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy +++ b/gui/griffon-app/models/com/muwire/gui/MainFrameModel.groovy @@ -358,6 +358,7 @@ class MainFrameModel { def dmtn = fileToNode.remove(e.unsharedFile) if (dmtn != null) { loadedFiles = fileToNode.size() + List unshared = new ArrayList<>() while (true) { def parent = dmtn.getParent() parent.remove(dmtn) @@ -366,12 +367,16 @@ class MainFrameModel { if (parent.getChildCount() == 0) { File file = parent.getUserObject().file if (core.muOptions.watchedDirectories.contains(file.toString())) - core.eventBus.publish(new DirectoryUnsharedEvent(directory : parent.getUserObject().file)) + unshared.add(file) dmtn = parent continue } break } + if (!unshared.isEmpty()) { + File unsharedRoot = unshared.get( unshared.size() -1 ) + core.eventBus.publish(new DirectoryUnsharedEvent(directory : unsharedRoot)) + } } view.refreshSharedFiles() }