From: Nate Graham Date: Tue, 30 Mar 2021 19:30:27 +0000 (-0600) Subject: Fix crash calling openDirectories() in various cases X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/b9139c5e1c4ccdaad5876da6005f6ac1000ee694?ds=inline 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. --- diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 17fa0ff4e..0a024235b 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);