Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Maintenance:9974
kwin5.openSUSE_Leap_15.0_Update
Properly-restore-current-desktop-from-session.p...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File Properly-restore-current-desktop-from-session.patch of Package kwin5.openSUSE_Leap_15.0_Update
From a9e469bf13f6d99c24eb2ae24c3a0f4ec0a79d61 Mon Sep 17 00:00:00 2001 From: Vlad Zagorodniy <vladzzag@gmail.com> Date: Mon, 4 Mar 2019 16:09:55 +0200 Subject: Properly restore current desktop from session Summary: VirtualDesktopManager is initialized in two places: Workspace::init and Workspace::initWithX11. The former method loads virtual desktops from the config file and the latter method synchronizes VirtualDesktopManager with RootInfo. Both methods do if (!VirtualDesktopManager::self()->setCurrent(m_initialDesktop)) VirtualDesktopManager::self()->setCurrent(1); which makes sense in Workspace::init, but not in Workspace::initWithX11. When Workspace::initWithX11 is called, the current virtual desktop is the same as m_initialDesktop. So that piece of code basically makes the first virtual desktop current no matter what. BUG: 390295 FIXED-IN: 5.15.3 Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D19520 --- workspace.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workspace.cpp b/workspace.cpp index a3967e5..0615eee 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -428,10 +428,10 @@ void Workspace::initWithX11() // TODO: only in X11 mode // Extra NETRootInfo instance in Client mode is needed to get the values of the properties NETRootInfo client_info(connection(), NET::ActiveWindow | NET::CurrentDesktop); - if (!qApp->isSessionRestored()) + if (!qApp->isSessionRestored()) { m_initialDesktop = client_info.currentDesktop(); - if (!VirtualDesktopManager::self()->setCurrent(m_initialDesktop)) - VirtualDesktopManager::self()->setCurrent(1); + vds->setCurrent(m_initialDesktop); + } // TODO: better value rootInfo->setActiveWindow(None); -- cgit v1.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor