From b9139c5e1c4ccdaad5876da6005f6ac1000ee694 Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Tue, 30 Mar 2021 13:30:27 -0600 Subject: [PATCH] Fix crash calling openDirectories() in various cases This can cause a crash when called with a single url and split view, or when the last URL is not shown, because the iterator gets mutated in the loop, so we need to make sure it hasn't gone out of bounds. This check was erroneously removed in 175538020824355115cd98637ce83ecc53badd44 and needs to be brought back. --- src/dolphintabwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 17fa0ff4e3..0a024235ba 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -210,7 +210,7 @@ void DolphinTabWidget::openDirectories(const QList& dirs, bool splitView) // Required for updateViewState() call in openFiles() to work as expected // If there is a selection, updateViewState() calls are effectively a no-op tabPage->activeViewContainer()->view()->clearSelection(); - } else if (splitView) { + } else if (splitView && (it != dirs.constEnd())) { const QUrl& secondaryUrl = *(it++); if (somethingWasAlreadyOpen) { openNewTab(primaryUrl, secondaryUrl);