Mir

mir:drop-binary-semaphore-polyfill

Last commit made on 2022-10-17
Get this branch:
git clone -b drop-binary-semaphore-polyfill https://git.launchpad.net/mir

Branch merges

Branch information

Name:
drop-binary-semaphore-polyfill
Repository:
lp:mir

Recent commits

fd0e575... by Chris Halse Rogers

ThreadPoolExecutor: Drop std::binary_semaphore polyfill.

All targets we compile for should now support enough C++20 stdlib features
to remove the need for us to provide a fallback.

fb6b987... by "bors[bot]" <26634292+bors[bot]@users.noreply.github.com>

Merge #2684

2684: Deal with confused state of KMS outputs better r=RAOF a=AlanGriffiths

Fixes: #2661
Fixes: #2674

Co-authored-by: Alan Griffiths <email address hidden>

f042f3b... by "bors[bot]" <26634292+bors[bot]@users.noreply.github.com>

Merge #2682

2682: XWayland: refactor state management r=AlanGriffiths a=wmww

Refactors state management to be more flexible and readable. Adds a new XWayland-specific struct instead of relying fully on `scene::SurfaceStateTracker`. This refactor is stacked on top of #2681 and was originally written as part of that, but was found to be unnecessary. If in the future we want to implement `_NET_WM_STATE_FOCUSED` this refactor will help greatly.

Co-authored-by: Sophie Winter <email address hidden>

51abb16... by Alan Griffiths

refresh some state to avoid unexpected error

67e6af1... by "bors[bot]" <26634292+bors[bot]@users.noreply.github.com>

Merge #2685

2685: Disable text input when client is unfocused r=AlanGriffiths a=wmww

Fixes #2651

Co-authored-by: Sophie Winter <email address hidden>

9cec9cd... by Sophie Winter <email address hidden>

Disable text input when client is unfocused

2151fa6... by "bors[bot]" <26634292+bors[bot]@users.noreply.github.com>

Merge #2644

2644: Improve Client class lifetime management r=wmww a=wmww

Libwayland notifies us that clients are destroyed before it cleans up all of the client's resources. The `wl_client` isn't freed until that is done. Previously, our WlClient class being destroyed before the resources, and logic was needed to prevent using using it after. This Makes `Client` an interface in `mir/wayland` and had `Resource` hold a shared pointer to it. This way the client isn't destroyed until it's last resource is. It also makes the client class more readily available.

Co-authored-by: Sophie Winter <email address hidden>

3d53a5e... by "bors[bot]" <26634292+bors[bot]@users.noreply.github.com>

Merge #2683

2683: XWaylandClipboardSource: do not clear source just before a new one is set r=AlanGriffiths a=wmww

Fixes #2677? I'm not quite sure the cause of the originally described bug (copying up to the last `\n`, nor have I observed that behavior specifically. However this does seem to fix the CLion/Intellij copy/paste bugs I'm seeing.

The problem is that when we got a new paste source we cleared the old one, but since setting up an X11 paste is a multi-step process and paste source observations are non-blocking, both the clearing and new source setup were happening at an arbitrary time and racing. With this PR the old paste source is invalidated (so nothing can paste from it), but it's not cleared. It will instead be replaced by the future paste source that will be created. If something goes wrong in the setup process, the worst that can happen is apps see an expired paste source, but trying to paste from it safely fails.

Co-authored-by: Sophie Winter <email address hidden>

5713c4e... by Sophie Winter <email address hidden>

XWaylandClipboardSource: do not clear source just before a new one is set

0081b72... by Sophie Winter <email address hidden>

Make Resource::client a pointer instead of a ref