> The core of the problem is that unity-mir reacts asynchronously to events from the SessionListener. MirSurfaceManager
> connects to the SessionListener::sessionCreatedSurface() signal using Qt::ConnectionType type = Qt::AutoConnection
That was meant to be SessionListener::sessionDestroyingSurface signal...
Because, the event is handled at a later time in the main Qt loop, the underlying ms::Surface has been already destroyed when the handler is invoked, causing the crash.
> The core of the problem is that unity-mir reacts asynchronously to events from the SessionListener. MirSurfaceManager ::sessionCreate dSurface( ) signal using Qt::ConnectionType type = Qt::AutoConnection
> connects to the SessionListener
That was meant to be SessionListener ::sessionDestro yingSurface signal...
Because, the event is handled at a later time in the main Qt loop, the underlying ms::Surface has been already destroyed when the handler is invoked, causing the crash.