Skip to content
  • Vlad Zahorodnii's avatar
    Properly restore current desktop from session · f7af1132
    Vlad Zahorodnii authored
    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
    f7af1132