diff options
author | Andreas Kling <kling@serenityos.org> | 2020-01-25 10:25:49 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-01-25 10:34:32 +0100 |
commit | 6df81c8a881b1defea57e4f490f9e09cbd753879 (patch) | |
tree | d6c8dca834aab1df136afb5ea1f6546dd3e84417 /AK/JsonArraySerializer.h | |
parent | 60d5b06e2163606d2f9a5e84d1e48038072d5c78 (diff) | |
download | serenity-6df81c8a881b1defea57e4f490f9e09cbd753879.zip |
WindowServer: Robustify WSWindow<->WSClientConnection link a bit
WSWindow now detaches from WSClientConnection when being destroyed.
Because of this, we can no longer rely on WSWindow::client() to tell
us whether a window is internal to WindowServer or not. So instead we
now have WSWindow::is_internal() which checks for client_id == -1.
Note that WSWindow now also gets a copy of its client_id when
constructed, since we can no longer rely on client() being valid after
destruction has started.
This allows various automatic mechanisms (e.g what happens in response
to window removal) to skip over windows that are being destroyed.
Fixes #387.
Diffstat (limited to 'AK/JsonArraySerializer.h')
0 files changed, 0 insertions, 0 deletions