]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix crash while entering selection mode with Qt6.7
authorFelix Ernst <felixernst@kde.org>
Wed, 17 Apr 2024 07:32:27 +0000 (07:32 +0000)
committerMéven Car <meven.car@kdemail.net>
Wed, 17 Apr 2024 07:32:27 +0000 (07:32 +0000)
`deleteLater()` on a non-existing object seems to cause a crash with
Qt6.7. This makes some sense but wasn't the case previously.

I didn't test this yet but it is a harmless change so if anyone can confirm we can IMO merge directly.

This was brought up in https://invent.kde.org/system/dolphin/-/merge_requests/764#note_920935, reported in the bug linked below, and the sentry crash reporting page also has a few dozen reports (https://crash-reports.kde.org/organizations/kde/issues/13589/?project=4&query=is%3Aunresolved&referrer=issue-stream&stream_index=1).

Dolphin 24.02 is also affected but we are already past the last bug fix release for it.

BUG: 485599

src/selectionmode/bottombarcontentscontainer.cpp

index d571b0302ab3785eba85cc26b7fb63f2280162f6..0e3087a9c52f2b571a2af065a8d4a6ed4e81ee31 100644 (file)
@@ -483,7 +483,9 @@ std::vector<QAction *> BottomBarContentsContainer::contextActionsFor(const KFile
     if (selectedItems.isEmpty()) {
         // There are no contextual actions to show for these items.
         // We might even want to hide this bar in this case. To make this clear, we reset m_internalContextMenu.
-        m_internalContextMenu.release()->deleteLater();
+        if (m_internalContextMenu) {
+            m_internalContextMenu.release()->deleteLater();
+        }
         return std::vector<QAction *>{};
     }