diff options
| author | Alexander Saoutkin <[email protected]> | 2019-06-22 15:44:11 +0200 |
|---|---|---|
| committer | Nate Graham <[email protected]> | 2019-06-22 15:47:00 +0200 |
| commit | d2506ffa63812fd0d8e9de248d7f3dd94ec2bf38 (patch) | |
| tree | 8fed420a9db1da9574a364f8d7483ce175af6719 /src | |
| parent | ff81ed60cfd7516eec830e7581189a96acae10f4 (diff) | |
Open new instance of Dolphin if no URLs are given
Summary:
BUG: 408387
BUG: 408244
FIXED-IN: 19.08.0
Currently Dolphin only opens a new instance of itself in the following two scenarios:
1. No other Dolphin instances ( D21666 deals with not matching daemonized instances) are currently running.
2. A new instance is explicitly asked for via: `dolphin --new-window`
A third scenario is needed to fix this bug:
3. If no URLs are passed in as arguments then open a new instance.
This patch adds this third scenario.
Test Plan:
STEPS TO REPRODUCE
1. Open Dolphin
2. Right-click on Dolphin's Task Manager Entry and click "Start New Instance"
3. A new instance is created.
As my system stuff is not built on master I am unable to replicate the bug (and can't confirm whether this fixes it), hence I'll rely on @ngraham to confirm whether this patch fixes the issue.
Reviewers: ngraham, elvisangelaccio
Reviewed By: ngraham, elvisangelaccio
Subscribers: elvisangelaccio, ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D21691
Diffstat (limited to 'src')
| -rw-r--r-- | src/global.cpp | 4 | ||||
| -rw-r--r-- | src/main.cpp | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/global.cpp b/src/global.cpp index 73e154b3a..42044c97d 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -72,8 +72,8 @@ void Dolphin::openNewWindow(const QList<QUrl> &urls, QWidget *window, const Open bool Dolphin::attachToExistingInstance(const QList<QUrl>& inputUrls, bool openFiles, bool splitView, const QString& preferredService) { - if (KWindowSystem::isPlatformWayland()) { - // TODO: once Wayland clients can raise or activate themselves remove this conditional + // TODO: once Wayland clients can raise or activate themselves remove check from conditional + if (KWindowSystem::isPlatformWayland() || inputUrls.isEmpty()) { return false; } diff --git a/src/main.cpp b/src/main.cpp index 639dc32ef..10adfc638 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -142,11 +142,6 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv) return app.exec(); } - if (urls.isEmpty()) { - // We need at least one URL to open Dolphin - urls.append(Dolphin::homeUrl()); - } - if (splitView && urls.size() < 2) { // Split view does only make sense if we have at least 2 URLs urls.append(urls.last()); @@ -159,6 +154,11 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv) } } + if (urls.isEmpty()) { + // We need at least one URL to open Dolphin + urls.append(Dolphin::homeUrl()); + } + DolphinMainWindow* mainWindow = new DolphinMainWindow(); if (openFiles) { |
