blob: 21e3353159073194151938cc6f9abdf2a03c3020 (
plain)
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
38
39
40
41
42
43
44
45
46
|
From 5cb38daedbfa5ef26a47d82d197c96230a004b0f Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Wed, 30 Sep 2020 08:56:16 +0000
Subject: [PATCH] [containmentactions] Guard against having no virtual desktops
It can apparently happen that virtual desktops is empty at a given point
in time. Potentially due to other bugs on the system.
Calls to desktopIds.at(N) will fail.
BUG: 427106
(cherry picked from commit 2441c82a2a92535ccc0a9643715427eb362c98e8)
---
containmentactions/switchdesktop/desktop.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/containmentactions/switchdesktop/desktop.cpp b/containmentactions/switchdesktop/desktop.cpp
index 809543a49..dda78c584 100644
--- a/containmentactions/switchdesktop/desktop.cpp
+++ b/containmentactions/switchdesktop/desktop.cpp
@@ -85,6 +85,10 @@ void SwitchDesktop::switchTo()
void SwitchDesktop::performNextAction()
{
const QVariantList &desktopIds = m_virtualDesktopInfo->desktopIds();
+ if (desktopIds.isEmpty()) {
+ return;
+ }
+
const QVariant ¤tDesktop = m_virtualDesktopInfo->currentDesktop();
const int currentDesktopIndex = desktopIds.indexOf(currentDesktop);
@@ -100,6 +104,9 @@ void SwitchDesktop::performNextAction()
void SwitchDesktop::performPreviousAction()
{
const QVariantList &desktopIds = m_virtualDesktopInfo->desktopIds();
+ if (desktopIds.isEmpty()) {
+ return;
+ }
const QVariant ¤tDesktop = m_virtualDesktopInfo->currentDesktop();
const int currentDesktopIndex = desktopIds.indexOf(currentDesktop);
--
GitLab
|