Created by Chris Halse Rogers and last modified
Get this branch:
bzr branch lp:~raof/mir/wayland-input-fixes
Only Chris Halse Rogers can upload to this branch. If you are Chris Halse Rogers please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Chris Halse Rogers

Recent revisions

4278. By Chris Halse Rogers

Simplify button mapping iteration

4277. By Chris Halse Rogers

Hopefully work around Xenial GCC bugs

4276. By Chris Halse Rogers

Wayland: Handle WlPointer and WlTouch lifetimes in the same way as WlKeyboard

4275. By Chris Halse Rogers

Wayland: Collect WlKeyboard lifetime handling into a run_unless wrapper

4274. By Chris Halse Rogers

Merge mir::client::Event branch

4273. By Chris Halse Rogers

Wayland: Add missed locking from new InputCtx::handle_event override

4272. By Chris Halse Rogers

Wayland: Actually shrink the inputCtx::listeners vector when removing listeners

4271. By Chris Halse Rogers

Wayland: Don't double-free WlSurfaces.

The lifetime handling for wayland::* classes requires that the destructors *only* be called
via the destruction of the associated wl_resource.

4270. By Chris Halse Rogers

Wayland: Handle keyboard lifetime, take 2.

Unfortunately, keyboard.release() is not the only way that keyboards can get destroyed.
All client resources will be destroyed on client disconnect, so ~WlKeyboard can't rely
on WlKeyboard::release() having ensured that no events are queued to the keyboard on
the Wayland event loop.

Instead maintain a “destroyed” flag to short-circuit the event handler callbacks once
the WlKeyboard has been destroyed.

4269. By Chris Halse Rogers

Wayland: Lifetimes should be tied to client resources only for non-global objects.

Globals are *not* tied to client lifetime - the globals themselves persist as long as the shell
wants them to.

There *are* client resources associated on bind, but these are separate from the global resource.

Instead, properly set up non-global destructors from their constructors.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.