serenity/Userland/Services
Tom 9f59d7d9a0 WindowServer: Fix animation crash
If an Animation's on_stop handler cleared itself inside the on_stop
event handler, it would remove itself from the animation map that was
still being iterated, leading to a crash.

To solve this, we'll iterate over the animations using the
remove_all_matching function, which enables us to delete it by simply
returning true when the animation finished. In the event that the
Animation is kept alive elsewhere and the on_stop event clears its own
reference, we need to temporarily bump the reference count. Another
advantage is that we only need to bump the reference count when an
animation is finished, whereas before this we bumped it
unconditionally.
2022-03-18 20:00:30 +01:00
..
AudioServer AudioServer: Decrease sample headroom to 5% 2022-03-14 22:46:46 +01:00
ChessEngine ChessEngine: Remove unused 'rpath' promise 2022-01-03 15:56:41 +01:00
Clipboard Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
ConfigServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
CrashDaemon Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
DHCPClient DHCP4Client: Cast unused Timer return values to void 2021-12-05 15:31:03 +01:00
EchoServer Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
FileOperation FileOperation: Port to Core::Stream 2022-03-13 22:38:48 +01:00
FileSystemAccessServer Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
ImageDecoder Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
InspectorServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
KeyboardPreferenceLoader LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods 2022-02-16 19:49:41 -05:00
LaunchServer Everywhere: Make JSON serialization fallible 2022-02-27 20:37:57 +01:00
LoginServer LoginServer: Add a label for login fail messages 2022-03-08 22:12:21 +01:00
LookupServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
NotificationServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
RequestServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
SpiceAgent SpiceAgent: Rename ClipboardServerConnection 2022-02-25 22:35:12 +01:00
SQLServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
SystemServer SystemServer: Create device files for gpus on startup 2022-03-09 14:58:48 +03:30
Taskbar Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
TelnetServer Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
WebContent LibJS: Add infallible variant of VM::push_execution_context() 2022-03-18 01:12:12 +01:00
WebServer WebServer: Close the socket if Connection: keep-alive isn't requested 2022-02-18 13:19:26 +01:00
WebSocket Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
WindowServer WindowServer: Fix animation crash 2022-03-18 20:00:30 +01:00
CMakeLists.txt LoginServer: Layout a basic login window 2021-10-17 22:18:48 +02:00