From 5cb38daedbfa5ef26a47d82d197c96230a004b0f Mon Sep 17 00:00:00 2001 From: David Edmundson 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