QGlobalStatic and windowing specific calls in dtor

Aleix Pol aleixpol at kde.org
Mon May 30 15:50:23 UTC 2016


On Mon, May 30, 2016 at 4:25 PM, Martin Graesslin <mgraesslin at kde.org> wrote:
> Hi frameworks-dev,
>
> I have a problem with my KWayland based plugin for KIdleTime. KIdleTime uses a
> QGlobalStatic, so it gets destroyed at exit-time. At that point the
> QGuiApplication and the qpa plugin does not exist any more, so any windowing
> system specific calls will fail.
>
> In the case of the KWayland based plugin, KWayland performs cleanup calls
> which crash as the wayland connection got already destroyed. In principle the
> same could also happen for the other plugins - they just don't perform any
> cleanup and prefer to leak X resources.
>
> So what's the best way to handle such a situation? How can I tear-down the
> plugin in a clean way without crashing?

It should clean up when aboutToQuit is emitted.
http://doc.qt.io/qt-5/qcoreapplication.html#aboutToQuit

Aleix


More information about the Kde-frameworks-devel mailing list