Mir

lp:~raof/mir/wayland-clients-close-their-sessions-on-quit

Created by Chris Halse Rogers on 2017-09-26 and last modified on 2017-09-26
Get this branch:
bzr branch lp:~raof/mir/wayland-clients-close-their-sessions-on-quit
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

Owner:
Chris Halse Rogers
Project:
Mir
Status:
Merged

Recent revisions

4278. By Chris Halse Rogers on 2017-09-26

Wayland: Close client mf::Session on wl_client destruction.

4277. By Chris Halse Rogers on 2017-09-26

WlSurface: Don't try to send frame notifications after the WlSurface has been destroyed.

Like everything else we punt onto the wl_event_loop we need to ensure that the object is still live
before executing the callback.

4276. By Chris Halse Rogers on 2017-09-25

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

4275. By Chris Halse Rogers on 2017-09-25

Wayland: Collect WlKeyboard lifetime handling into a run_unless wrapper

4274. By Chris Halse Rogers on 2017-09-25

Merge mir::client::Event branch

4273. By Chris Halse Rogers on 2017-09-25

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

4272. By Chris Halse Rogers on 2017-09-25

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

4271. By Chris Halse Rogers on 2017-09-25

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 on 2017-09-25

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 on 2017-09-25

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:
lp:mir
This branch contains Public information 
Everyone can see this information.