This is needed for proper crash reporting with full metadata
(cherry picked from commit 5c2153f5ef)
Co-authored-by: Nicolas Fella <nicolas.fella@gmx.de>
Once tearing is enabled, atomic tests that try to disable the cursor plane will fail.
BUG: 493166
(cherry picked from commit 21b1132695)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
When a mapped window doing reparent, xorg will generate a unmap and map
sequence.
In KWin, If a mapped Unmanaged is doing reparent, KWin will receive a
unmap and map sequence because KWin won't release the Unmanaged
immediately. When the MapNotify comes, its parent is not longer the root
window. However, KWin still create an Unmanaged to manage it. As a
result, a ghost Unmanaged remains in the list.
(cherry picked from commit 2f4005cd67)
Co-authored-by: zeming huang <huangzeming@uniontech.com>
We combine all possible operations from the pipeline into one hardware color op,
there's no reason to skip any - it just prevents matching a pipeline that could
actually be represented in hardware just fine.
BUG: 494611
(cherry picked from commit d9ce40c06f)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
Otherwise, the repainted region can be completely wrong, which breaks damage tracking very badly
BUG: 494837
(cherry picked from commit 8a8c617ddd)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
Apparently, zink (when calling gbm_create_device()) may connect to the
wayland server if the WAYLAND_DISPLAY envvar is set and deadlock.
(cherry picked from commit d802b7c32c)
Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
Comparing the color descriptions can yield in false negatives, when the luminance
levels between two gamma 2.2 encoded images don't match.
BUG: 493295
(cherry picked from commit 260cf817b8)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
It can lead to weird issues, like the resulting region being entirely in negative coordinates
CCBUG: 494829
(cherry picked from commit 12e44324d5)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
FreeBSD CI is unstable and we lack people who have relevant knowledge
about FreeBSD to debug and address the issue.
(cherry picked from commit 354d4f78c6)
Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
SeatInterface::setTimestamp() must be called before sending an event.
(cherry picked from commit 82dfdf3ea3)
Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
That was the intention behind disabling it by default for some drivers, and it also
slightly simplifes the code
BUG: 494706
(cherry picked from commit 85485a7344)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
Some applications provide truly nonsensical luminance values, like 10 million nits.
This adds a basic sanity check to not use that for tone mapping
BUG: 494502
(cherry picked from commit 03b4da31c0)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
Empirical data suggests this yields a decent reduction in GPU usage
CCBUG: 477223
(cherry picked from commit 80a91b1a4f)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
Since we removed auto commit on input method forwarded key event, just
remove the test for it all together.
(cherry picked from commit 9e46767b64)
Co-authored-by: Weng Xuetian <wengxt@gmail.com>
This fixes overview toggle when the shortcut is set to a modifier key,
e.g. meta.
(cherry picked from commit d4241cf70d)
Co-authored-by: Łukasz Patron <priv.luk@gmail.com>
The Window object has no QObject parent, and there are functions that
are exposed to scripting api and return Window objects.
(cherry picked from commit 216dd94d5c)
Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
A common usecase for this is when preedit is not empty, but key event is
bypassed is when modifier key is pressed. For example, user may want to
send Shift+A to input method, but input method will ignore the Shift key
press and forward shift to application. This allows certain usecase if
application reacts to modifier only key event.
While it "may" causes some issue when input method decide to send key
that produce text when preedit is not empty, this does not happen in
practice and should be considered a bug on input method engine side.
(cherry picked from commit aa8c55775d)
There's some unresolved glitches on multi gpu systems. Until that's taken care of,
triple buffering is disabled by default on NVidia unless the environment variable
KWIN_DRM_DISABLE_TRIPLE_BUFFERING=0 is set
BUG: 494547
BUG: 494407
(cherry picked from commit 0133431c1d)
Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
EffectWindow has no parent so QJSEngine can garbage collect an instance
if it's returned by a function marked with Q_INVOKABLE.
CCBUG: 487771
(cherry picked from commit 8a5a9f7c12)
Co-authored-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
Workspace::findDesktop() doesn't take into account the current active
output, and instead returns the first top desktop window found in the
stack. This means that the active output may drift and the focus chain
logic can break.
BUG: 493735
BUG: 494332
(cherry picked from commit 47a2a2e12a)
Amends ce2ddeb224.
When it's called in the manage() function, the geometry updates can be
still blocked, in which case avoid sending a configure event with an
incomplete geometry yet. It probably doesn't matter in practice though.