Skip to content
Commit 5e87d833 authored by Simeon Bird's avatar Simeon Bird
Browse files

Fix bug 292950 by deleting QCoreApplication only after

Storage->ServerCore.

The bug occurs because Storage->ServerCore may persist after
QCoreApplication is gone. If the socket receives a remote disconnected
message from virtuoso (which it might because this is shutdown and
virtuoso is being killed) it tries to translate it, but can't because
the translators went with QCoreApplication. Thus the crash.

This was made much less likely by Vishesh already with cea2870f
but we can do better.

For most services connect QCoreApplication::quit() to the service
destroyed() signal.
For the storage service, disconnect that slot from the service and
reconnect it to
ServerCore::destroyed() (so that the application is only quit after the
ServerCore destructor runs). We do this in the service dtor, which is
allowed because the
dtor runs before destroyed() is emitted (I checked this).

BUG: 292950
FIXED-IN: 4.10.2
REVIEW: 108997
parent 31410207
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment