mutter/src
Yotam Bar-On aca8be64c1 meta/selection-source-memory: Use memfd instead of GBytes
MetaSelectionSourceMemory currently uses GBytes for its underlying data.
This can cause memory overhead when large items, such as HD images, are
stored in the clipboard. This commit changes the underlying data
structure to a MetaAnonymousFile object, which writes to memfd instead
of heap. When reading, MetaSelectionSourceMemory will create a
Gio.UnixInputStream from the file descriptor generated by
MetaAnonymousFile. We subclass the UnixInputStream as
MetaUnixInputStream, to override the stream's close_fn function so
that it invokes meta_anonymous_file_close_fd when the stream terminates.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3551>
2024-03-08 18:34:52 +00:00
..
backends kms/impl-device/atomic: Set hotspot cap before initing mode setting 2024-03-08 17:27:10 +00:00
common backend/native: Move DrmFormatBuf to cogl-drm-formats 2024-01-03 14:46:41 +01:00
compositor compositor/drag: Use "default" cursor for moving windows 2024-03-02 23:42:55 +00:00
core meta/selection-source-memory: Use memfd instead of GBytes 2024-03-08 18:34:52 +00:00
frames Revert "frames: Always initialize _MUTTER_FRAME_EXTENTS to zero" 2024-03-01 10:54:32 +01:00
meta meta/selection-source-memory: Use memfd instead of GBytes 2024-03-08 18:34:52 +00:00
tests monitor-manager: Add support for refresh rate modes 2024-03-02 12:08:21 +00:00
wayland wayland: Add support for preferred_buffer_scale/transform 2024-03-08 17:01:43 +00:00
x11 x11: Pass NET_WM_MOVERESIZE coordinates as window drag hint 2024-02-27 00:19:22 +01:00
meson.build build/meta: Add explicit dependency on Gio-2.0 gir 2024-02-27 10:35:06 +01:00
meta-private-enum-types.c.in build: Add missing include 2022-08-10 20:28:40 +02:00
meta-private-enum-types.h.in cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00