serenity/Userland
Andreas Kling 8a7d9a7b68 ImageDecoder: Pass decoded images as Gfx::Bitmap over IPC
Before this change, we were passing them as Gfx::ShareableBitmap. The
problem is that shareable bitmaps keep their underlying file descriptor
open, so that they can be shared again with someone else.

When a Gfx::Bitmap is decoded from an IPC message, the file descriptor
is closed and recovered immediately.

This fixes an issue where we'd accumulate one file descriptor for every
image decoded. This eventually led to descriptor starvation after enough
images were loaded and still referenced at the same time.

(cherry picked from commit 166e603c5eb0a103eea148baf97a075fe5fea964)
2024-08-02 09:04:13 -04:00
..
Applets Keymap: Draw the current keymap text with the correct theme color 2024-03-02 19:24:53 +00:00
Applications Maps: Use Config::pledge_domain() 2024-08-02 08:46:48 -04:00
BuggieBox Userland: Move basic system init functionality out of SystemServer 2024-06-30 00:20:45 +02:00
Demos CatDog: Avoid quickly switching between wake and sleep 2024-07-22 11:50:45 -04:00
DevTools Hackstudio: Add a window title when diff is opened 2024-06-09 14:13:29 -04:00
DynamicLoader DynamicLoader: Add an option to list all ELF loaded dependencies 2024-05-14 15:42:42 -06:00
Games Chess: Add time controls 2024-06-05 20:45:38 -04:00
Libraries ImageDecoder: Pass decoded images as Gfx::Bitmap over IPC 2024-08-02 09:04:13 -04:00
Services ImageDecoder: Pass decoded images as Gfx::Bitmap over IPC 2024-08-02 09:04:13 -04:00
Shell Everywhere: Remove uneeded short option argument where possible 2024-04-22 08:10:08 +02:00
Utilities LibGfx/PNGWriter: Change default PNG compression level to Default 2024-07-31 18:39:08 -07:00
CMakeLists.txt