On Fri May 17 08:36:29 2024 +0000, Rémi Bernon wrote:
removing the need for both `get_thread_session_object_locator` and
ref-counted session struct. We could for example just return an offset and shared object id in `set_thread_desktop` request and then store object pointer (from the offset) and id in `user_thread_info`. `get_cursor_pos` would then have all it needs to validate (with stored id), "lock" and use that pointer straight from the thread data. This is only true for the thread desktop and message queue, but not for thread input (when attached/detached), or foreground input (when foreground changes), which may change and thus needs to be invalidated and queried again, at any time. The current mechanism works in both cases and is future proof for other kind of objects.
Is something like https://gitlab.winehq.org/rbernon/wine/-/commit/f5049bd9c9352a70b66354c1a7c6... any better?