[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-frameworks-devel
Subject: KDirListerCache destroy comment in kcoredirlister.cpp
From: René_J.V. Bertin <rjvbertin () gmail ! com>
Date: 2018-01-29 10:32:56
Message-ID: 2037473.NHaoCPBjsg () bola
[Download RAW message or body]
Hi,
Researching an issue I'm seeing (hang/crash on exit) I found the following vestigial \
out-commented code the KCoreDirListerCache ctor in kcoredirlister.cpp:
// Probably not needed in KF5 anymore:
// The use of KUrl::url() in ~DirItem (sendSignal) crashes if the static for \
QRegExpEngine got deleted already, // so we need to destroy the KCoreDirListerCache \
before that. //qAddPostRoutine(kDirListerCache.destroy);
WHat's clear is that this no longer works: there is no `destroy` method in whatever \
kDirListerCache's real class is.
Git blame is of little help here; can anyone remember why the explicit pro-active \
delete was deemed unnecessary, and what the exact symptoms were when this was not \
done in KDE4?
FWIW, the crash (or hang) happens during QRegExpEngine take-down when I have used a \
KDE file dialog in a "pure Qt" application via a mechanism built on code taken from \
the plasma integration plugin. It does not happen in KF5 applications like kate or \
kdialog. As far as I know those applications obtain the KDE file dialog from the \
platform plugin too. The difference must be in the order in which certain things are \
deleted during the global destruction phase, but which and how to restore the proper \
order. (The Audacious audioplayer had a similar issue on exit in its Qt5 version, \
which I traced to the QApplication instance being deleted via atexit; a lucky shot in \
the dark that makes a lot of sense in retrospect.)
Thanks for any pointers,
R.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic