1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-27 16:52:08 +00:00
serenity/Userland/Services/WindowServer
Jelle Raaijmakers 2e1320f264 WindowServer: Reevaluate hovered window on window rect change
When a new Window instance is added to the WindowManager, it does not
yet have an updated value for `m_frame->rect()` and we're not checking
if there is a new candidate for the hovered window, which we need to do
since the mouse cursor might hover above the newly opened window.

This fixes both issues: as soon as a Window frame's rect is changed,
ask the WindowManager to reevaluate its hovered window. This takes care
of newly opened windows _and_ windows that are programmatically changed
in size.

This works because when a Window becomes hovered, the WindowManager
sends out an enter event. This event in turn triggers the Window to
evaluate the cursor type under the mouse position and to update it when
necessary.

Fixes #4809.
2021-04-27 08:58:13 +02:00
..
AppletManager.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
AppletManager.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Button.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Button.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ClientConnection.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ClientConnection.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CMakeLists.txt LibGUI+WindowServer: Separate window manager IPC from regular IPC 2021-04-17 13:06:25 +02:00
Compositor.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Compositor.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Cursor.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
Cursor.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Event.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
EventLoop.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
EventLoop.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
main.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Menu.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Menu.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Menubar.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Menubar.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
MenuItem.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MenuItem.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MenuManager.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MenuManager.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Screen.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Screen.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Window.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Window.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowClient.ipc IPCCompiler: Remove hardcoded endpoint magic, attempt deux 2021-04-25 14:06:56 +02:00
WindowFrame.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowFrame.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowManager.cpp WindowServer: Reevaluate hovered window on window rect change 2021-04-27 08:58:13 +02:00
WindowManager.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowManagerClient.ipc IPCCompiler: Remove hardcoded endpoint magic, attempt deux 2021-04-25 14:06:56 +02:00
WindowManagerServer.ipc IPCCompiler: Remove hardcoded endpoint magic, attempt deux 2021-04-25 14:06:56 +02:00
WindowServer.ipc IPCCompiler: Remove hardcoded endpoint magic, attempt deux 2021-04-25 14:06:56 +02:00
WindowSwitcher.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowSwitcher.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowType.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WMClientConnection.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WMClientConnection.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00