serenity/Servers
Andreas Kling c56c8c8953 WindowServer: Remove applets from AppletManager on client disconnection
Disconnecting from WindowServer without explicit calls to DestroyWindow
would leave nulled-out WeakPtr's in the AppletManager applet list.

This led to a null dereference when adding a new applet, since we were
assuming the list contained no nulled-out applets.

This patch fixes the issue by always unregistering applet windows from
the AppletManager in ~ClientConnection(). We also do an extra pass of
pruning any nulled-out WeakPtrs from the applet list when adding to it.

Fixes #1551.
2020-03-31 13:55:28 +02:00
..
AudioServer Kernel+LibC: Rename shared buffer syscalls to use a prefix 2020-02-28 12:55:58 +01:00
LookupServer LibCore: Rename Udp classes to UDP 2020-03-14 23:56:12 +01:00
NotificationServer WindowServer+NotificationServer: Vertical title bar for notifications 2020-03-30 17:03:15 +02:00
ProtocolServer Kernel+LibC: Rename shared buffer syscalls to use a prefix 2020-02-28 12:55:58 +01:00
SystemServer SystemServer: Add WorkingDirectory support 2020-03-18 08:23:31 +01:00
TelnetServer TelnetServer: Protect the Client object during drain_socket() 2020-02-08 19:12:52 +01:00
TTYServer TTYServer: Use unveil() 2020-02-22 21:19:58 +01:00
WebServer LibCore: Replace manual forward declarations with <LibCore/Forward.h> 2020-02-15 00:13:44 +01:00
WindowServer WindowServer: Remove applets from AppletManager on client disconnection 2020-03-31 13:55:28 +02:00
Makefile Build: Only look at SUBDIRS with Makefiles 2020-02-25 19:56:48 +01:00