Whilst iterating through m_proccesses we make them finish. An existing
connect removes them from the vector.
Iterating through a volatile vector is unsafe.
BUG: 454159
(cherry picked from commit 3692ff7ca4)
Tint the window titlebars even if the option to make them accent-colored is not
explicitly enabled; in this case you want them tinted anyway because they're a
part of the fill window which will get tinted.
BUG: 455395
FIXED-IN: 5.25.2
(cherry picked from commit 2d272745eb)
KSMServer sets which session to use on startup
`KSmServer::restoreSession(QString)`
When the session is up and ready either systemd or plasma-session invoke
`restoreSession()` that actively starts restoring clients.
At some point we need to notify kwin which session we're using so that
it can handle restorng window properties such as the virtual desktop.
This was done in the first call, but this has no guarantee that kwin has
started yet. Without kwin getting the DBus call it has no information to
match up restoration information.
The state RestoringWMSession is dropped as it does nothing useful.
BUG: 442380
(cherry picked from commit a22ff36edf)
In `combineImages`, the width and the height were calculated
incorrectly. This makes the preview image correctly obey the device
pixel ratio of the primary screen, so the preview image can be clear
and sharp.
BUG: 413673
FIXED-IN: 5.25.1
(cherry picked from commit b96d56ae17)
This makes the code and user-facing configuration for accent coloured titlebars
unable to produce some bad results that it previously could.
(cherry picked from commit a671178a8f)
Clipboard history item actions are added to the menu by
KlipperPopup::rebuild() or PopupProxy::tryInsertItem().
The actions are removed from the menu again at the start
of KlipperPopup::rebuild(), but were never deleted.
(cherry picked from commit 80539089c9)
After location is set, one layout script will usually start adding widgets.
It's required to emit formFactorChanged() to update plasmoid.formFactor bindings
in QML side to avoid Layout issues.
See isHorizontal in plasma-desktop/containments/panel/contents/ui/main.qml
(cherry picked from commit 871d6104d3)
Unfortunately, the list<> basic QML type is too primitive, it does not
even expose any kind of remove() functionality, so the only supported
way is to create a new list and assign it instead.
This fixes the bug when there may appear multiple empty or duplicating
actions in the expanded view due to the fact they they were only added
to but never cleaned up / removed from the list of contextual actions.
BUG: 449778
(cherry picked from commit af98cef3ef)
If the time between logout and relogin is short enough or a separate session
is open during that time, the systemd user instance keeps running. This means
that generators like the one for XDG autostart handling aren't run again, which
effectively means it's still using the configuration from the previous session.
Just reload systemd on every login to make sure its state is fresh.
(cherry picked from commit e1b146551a)
A few KDE versions ago, the KCM and app results were provided by the same plugin.
To make sure they do not appear very far down the list, the plugin id is inserted right after the services runner.
CCBUG: 446239
(cherry picked from commit fcbb1de7a8)
The formFactor has been set, either by `ShellCorona::addPanel` or the
ctor of `ContainmentPrivate::ContainmentPrivate`, so it's redundant to
set the default value here again, or the panel will be added to the top
edge again and again.
(cherry picked from commit 3ff3cea11b)
The current shortcuts could conceivably override app shortcuts, since
they don't use the Meta key. The following changes are made:
Automatic Action Popup Menu: Ctrl+Alt+X -> Meta+Ctrl+X
Manually Invoke Action on Current Clipboard: Ctrl+Alt+R -> Meta+Ctrl+R
These are safe to change in the code rather than adding a new one and
keeping the old ones around for compatibility's sake because
KGlobalAccel::setGlobalShortcut by default preserves old shortcuts
when they are changed, and we aren't overriding that behavior here. So
only new installs will get the new shortcuts and existing user installs
will be untouched.
(cherry picked from commit b768533890)
In panelview.cpp, the old window focus is restored when switching to
Passive status. This fixes the behavior by setting the panel status to a
status that is not AcceptingInputStatus.
BUG: 454729
CCBUG: 352476
FIXED-IN: 5.25
(cherry picked from commit 47acfaff51)
Otherwise the user needs to manually tab over to the Unlock button
first, which is annoying. And they may not even think to do it at all.
The `forceActiveFocus()` is because the stack view does not manually pass focus
to the item you push onto it; this needs to be handled manually.
BUG: 454707
(cherry picked from commit 370976d715)
The delimiter might change if the settings are changed.
By having a member variable, we still avoid re-creating the same regex for every time the runner is queried.
BUG: 454596
(cherry picked from commit a5378b5282)
screenpooltest.cpp:73:38: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
73 | ScreenPoolTester screenPoolTester();
| ^~
screenpooltest.cpp:73:38: note: remove parentheses to default-initialize a variable
73 | ScreenPoolTester screenPoolTester();
| ^~
| --
screenpooltest.cpp:73:38: note: or replace parentheses with braces to value-initialize a variable
(cherry picked from commit 2785774fc089d56986497b950035f82001e434f0)