File: upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch

package info (click to toggle)
dolphin 4%3A25.04.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 31,252 kB
  • sloc: cpp: 46,852; xml: 878; ruby: 164; python: 84; sh: 11; makefile: 11
file content (37 lines) | stat: -rw-r--r-- 1,486 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From 3e4d9ca10c33746cb545e930886491e6a1227e6e Mon Sep 17 00:00:00 2001
From: Vladislav Kachegov <vladkachegov@gmail.com>
Date: Fri, 23 May 2025 12:46:54 +0300
Subject: [PATCH] fix incorrect view reset when unmounting similarly-named
 devices

Previously, unmounting a device would incorrectly reset views containing:
- Paths with similar names (e.g. "/media/disk" and "/media/disk_2")
- Substrings of the mounted path

Now only resets views showing either:
1. The exact mounted path (e.g. "/media/disk")
2. Its subdirectories (e.g. "/media/disk/docs")
---
 src/dolphinmainwindow.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 297ab000e8..2697b12fb8 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -1726,7 +1726,11 @@ void DolphinMainWindow::setViewsToHomeIfMountPathOpen(const QString &mountPath)
 {
     const QVector<DolphinViewContainer *> theViewContainers = viewContainers();
     for (DolphinViewContainer *viewContainer : theViewContainers) {
-        if (viewContainer && viewContainer->url().toLocalFile().startsWith(mountPath)) {
+        if (!viewContainer) {
+            continue;
+        }
+        const auto viewPath = viewContainer->url().toLocalFile();
+        if (viewPath.startsWith(mountPath + QLatin1String("/")) || viewPath == mountPath) {
             viewContainer->setUrl(QUrl::fromLocalFile(QDir::homePath()));
         }
     }
-- 
GitLab