Commit graph

26651 commits

Author SHA1 Message Date
Vlad Zahorodnii
883acb1f58 scene: Update surface texture in preprocess()
If two items display image data, the item renderer needs to special case
each item. It's not an extensible design, and my long term goal is to
introduce a separate tree specifically to solve this problem and also
help with computing the repaint damage automatically, instead of issuing
scheduleRepaint()s manually.

The first step is to refactor the item renderer so it merely takes the
input data and renders it. At the moment, it's not exactly the case
because surface textures are updated while painting the items, which
inherently requires special casing. This change moves surface texture
update code to the surface item so it's easier to refactor rendering code
in the item renderer.
2024-04-03 11:45:28 +00:00
Nate Graham
fdd338f02b Mark risky KNS content
By design, these categories of content can run arbitrary code on the
system. This makes them security-sensitive and risky, so we need to
inform the user about it.

Depends on https://invent.kde.org/frameworks/knewstuff/-/merge_requests/309
2024-04-03 10:45:57 +00:00
David Redondo
3d5e10e9bb Stop vendoring xdg-toplevel-drag 2024-04-03 09:27:46 +00:00
David Redondo
7f20621b25 Bump wayland-protocols to 1.34 2024-04-03 09:27:46 +00:00
Vlad Zahorodnii
57a79608da Disable freebsd ci
It's broken and it blocks normal workflow.
2024-04-03 11:02:54 +03:00
l10n daemon script
7c3a27fb43 GIT_SILENT Sync po/docbooks with svn 2024-04-03 01:28:26 +00:00
Ser Freeman
298a8ca8c5 XdgSurfaceWindow: Always update move resize geometry
Since interactive move resize logic has changed, there is
no need to guard maybeUpdateMoveResizeGeometry anymore.

BUG: 483309
2024-04-02 16:42:38 +00:00
Vlad Zahorodnii
7bb250826e wayland: Emit closed signal immediately after marking the window as closed
The main motivation is to give users a chance to perform their cleanup.
2024-04-02 15:34:15 +03:00
Vlad Zahorodnii
28d6b5230a Unset Window::tile() when the window is closed
If a window is closed, its geometry should not change. The window has to
leave its assigned tile so it's not possibly moved or resized.
2024-04-02 15:34:15 +03:00
Yifan Zhu
5272c24301 plugins/mousemark: clear drawing when no modifiers are pressed
Previously when drawing has length 1, it is not cleared. So the
remaining point in drawing can connect with the new point when the user
represses the modifiers, leading to a unexpected mark.

This ammends commit 46807b1a72.

BUG: 482297
2024-04-02 08:52:45 +00:00
Yifan Zhu
b4e15b28b6 plugins/mousemark: correct reserve size.
verts is now QVector<QVector2D>. So don't reserve 2x the size.

This ammends commit 617f3b9000.
2024-04-02 08:52:45 +00:00
Vlad Zahorodnii
4c384d1e9f plugins/screencast: Destroy renegotiate event
If I'm not mistaken, the renegotiate event is leaked. Also, its handler
function can be hypothetically called after thhe ScreenCastStream object
is destroyed.
2024-04-02 08:21:40 +00:00
Vlad Zahorodnii
0c49ae5360 plugins/screencast: Corrupt header to indicate that buffer has no data
SPA_META_HEADER_FLAG_CORRUPTED indicates that the buffer contains
absolutely no any data.

SPA_CHUNK_FLAG_CORRUPTED indicates that the buffer has no frame contents
but it can contain other data, for example cursor metadata.
2024-04-01 11:41:22 +03:00
l10n daemon script
a4be9859b7 GIT_SILENT Sync po/docbooks with svn 2024-04-01 01:19:43 +00:00
l10n daemon script
4d72263b31 GIT_SILENT Sync po/docbooks with svn 2024-03-31 01:38:05 +00:00
l10n daemon script
20960c2fea SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-03-31 01:14:02 +00:00
l10n daemon script
b5c127519f GIT_SILENT Sync po/docbooks with svn 2024-03-30 01:19:32 +00:00
l10n daemon script
7ac61516b2 GIT_SILENT Sync po/docbooks with svn 2024-03-29 01:38:23 +00:00
l10n daemon script
9165ba3b20 GIT_SILENT Sync po/docbooks with svn 2024-03-28 01:45:49 +00:00
Vlad Zahorodnii
5c2314a6bd plugins/screencast: Handle failing to import dmabuf 2024-03-27 15:41:54 +00:00
Nicolas Fella
9e9da67fc0 kcm/decoration: Port to ecm_add_qml_module and declarative type registration
This makes the types visible to QML tooling
2024-03-27 10:26:24 +00:00
Niccolò Venerandi
c8e0568022 Fix oversights on shortcut handling within Overview/Grid effect
BUG:482931
2024-03-27 10:01:15 +00:00
l10n daemon script
4be92db483 GIT_SILENT Sync po/docbooks with svn 2024-03-27 09:55:36 +00:00
l10n daemon script
bd84f1606d GIT_SILENT Sync po/docbooks with svn 2024-03-27 01:39:29 +00:00
Vlad Zahorodnii
8d3c06a178 plugins/screencast: Simplify damage calculation in region screen cast source
Whether the output is rotated should be irrelevant. The region screen
cast source handles scrapping fairly well blitting from rotated outputs.
2024-03-27 02:00:57 +02:00
Vlad Zahorodnii
d1fdb69946 plugins/screencast: Drop "stream" in ScreenCastStream::streamReady
The word "stream" is redundant.
2024-03-27 02:00:57 +02:00
Vlad Zahorodnii
cd2a4de82f plugins/screencast: Rename ScreenCastStream::stop() to close()
This is to help disambiguating between the code that shuts down the
stream completely and one that pauses/resumes the stream.
2024-03-27 02:00:57 +02:00
Vlad Zahorodnii
7894db7504 plugins/screencast: Pause/resume source when stream is paused/resumed 2024-03-27 02:00:55 +02:00
Vlad Zahorodnii
9d3e87bd9d tiles: Evacuate windows in CustomTile::remove() 2024-03-26 23:23:59 +00:00
Vlad Zahorodnii
ea9691a2f5 tiles: Use deleteLater() in CustomTile::remove()
Otherwise it seems that QQmlEngine can segfault.
2024-03-26 23:23:59 +00:00
Kevin Ottens
0bcb9a0ddd plugins/screencast: Indicate which stream is considered in debug logs
We can easily have several streams manipulated at the same time, this
helps to distinguish between them.
2024-03-26 23:09:25 +00:00
Kevin Ottens
399a955eb2 plugins/screencast: Add more debug about the format negociation with PW 2024-03-26 23:09:25 +00:00
Kevin Ottens
c310ba782a utils: drop the prefix param from drmFormatName 2024-03-26 23:09:25 +00:00
Xaver Hugl
d59451adcf effects/quickeffect: render qtquick scenes in the normal render pass
If they're rendered in prePaintScreen, the time needed to render them is not
accounted for in compositing scheduling, which may make KWin miss vblank

CCBUG: 482861
CCBUG: 452119
CCBUG: 482034
2024-03-26 17:06:07 +01:00
Xaver Hugl
5101579eb8 opengl: introduce makeCurrent and doneCurrent in OpenGlContext
... instead of them being specific to EglContext and GlxContext
2024-03-26 16:06:01 +01:00
l10n daemon script
8c8c5b9b0e GIT_SILENT Sync po/docbooks with svn 2024-03-26 01:39:06 +00:00
Vlad Zahorodnii
8428b4603c plugins/screencast: Neutralize stopped streams
Streams are deleted with QObject::deleteLater(), it's still possible to
process some events before the stream is actually destroyed, which can
cause problems.
2024-03-25 19:56:08 +00:00
Xaver Hugl
c6c99c1740 backends/wayland: don't clear the format map on tranche_done
It's not per tranche, it's global. Clearing the map means we ignore formats
from non-preferred tranches entirely
2024-03-25 13:19:01 +00:00
Xaver Hugl
686ea6374b backends/x11/standalone: port the egl backend away from AbstractEglBackend
This reduces the requirement on AbstractEglBackend to accomodate for X11
2024-03-25 12:52:31 +00:00
l10n daemon script
866afcb94b GIT_SILENT Sync po/docbooks with svn 2024-03-25 01:39:13 +00:00
Bart Ribbers
d71243aa07 Add missing include on sys/types.h to fix build on Musl libc
I guess sys/types.h is implicitely included on glibc but that's definitely
not the case on Musl libc. The include is however necessary to define
dev_t introduced in 3c82d5a919
2024-03-24 20:09:22 +01:00
Nate Graham
a2cccf0d75 Port to Kirigami version of ContextualHelpButton
It's been added there after starting life in kcmutils. Depends on
https://invent.kde.org/frameworks/kirigami/-/merge_requests/1488.
2024-03-24 15:56:00 +00:00
l10n daemon script
9b5ee76683 GIT_SILENT Sync po/docbooks with svn 2024-03-23 01:22:35 +00:00
Nicolas Fella
0fef229587 kcms/decoration: Fix crash when preview cannot be generated
m_bridge->createDecoration() can return nullptr. Most codepaths
already guard against that, but not all of them

BUG: 456531
2024-03-22 13:42:47 +01:00
Xaver Hugl
6a4a68dea4 backends: expose the DrmDevice instead of an allocator 2024-03-22 12:07:29 +01:00
Xaver Hugl
221c6aaf2b backends/virtual: use DrmDevice 2024-03-22 12:07:29 +01:00
Xaver Hugl
08439957d0 backends/x11/windowed: use DrmDevice 2024-03-22 12:07:29 +01:00
Xaver Hugl
fb19774730 backends/wayland: use DrmDevice 2024-03-22 12:07:29 +01:00
Xaver Hugl
d0b69f3503 backends/drm: use DrmDevice 2024-03-22 12:07:29 +01:00
Xaver Hugl
3c82d5a919 core: introduce DrmDevice 2024-03-22 12:07:29 +01:00