https://bugs.kde.org/show_bug.cgi?id=387334
comicfans44 <comicfan...@gmail.com> changed:
What|Removed |Added
CC||comicfan...@gmail.com
--- Comment #5 from comicfans44 <comicfan...@gmail.com> ---
I've confirmed this bug , seems it's triggered by lxqt customized qt plugin
a lxqt filedialog (as LXQtFileDialogHelper member) is created as following
steps:
create
0x7fffdcef400c in LXQtFileDialogHelper::LXQtFileDialogHelper()
(this=0x6040002b1d10)
at
/srv/nfs4/working/lxqt-qtplugin/src/lxqt-qtplugin-0.12.0/src/lxqtfiledialoghelper.cpp:22
#1 0x7fffdcef5365 in non-virtual thunk to
LXQtPlatformTheme::createPlatformDialogHelper(QPlatformTheme::DialogType) const
()
at /usr/include/qt/QtCore/qcoreapplication.h:116
#2 0x754a7b20 in QDialogPrivate::platformHelper() const () at
/usr/lib/libQt5Widgets.so.5
#3 0x754ba3fd in QFileDialogPrivate::init(QUrl const&, QString const&,
QString const&) () at /usr/lib/libQt5Widgets.so.5
#4 0x754ba822 in QFileDialog::QFileDialog(QWidget*, QString const&,
QString const&, QString const&) () at /usr/lib/libQt5Widgets.so.5
#5 0x75e7e46c in KoFileDialog::createFileDialog() () at
/usr/lib/libkritawidgetutils.so.18
#6 0x75e7efd7 in KoFileDialog::filename() () at
/usr/lib/libkritawidgetutils.so.18
#7 0x7692592a in KisMainWindow::saveDocument(KisDocument*, bool, bool,
int) () at /usr/lib/libkritaui.so.18
but when save as triggered, it's deleted during QFileDialog::setOptions
#0 0x7fffdceecec0 in LXQtFileDialogHelper::~LXQtFileDialogHelper()
(this=0x6040002b1d10)
at
/srv/nfs4/working/lxqt-qtplugin/src/lxqt-qtplugin-0.12.0/src/lxqtfiledialoghelper.cpp:39
#1 0x754a7dc6 in QDialogPrivate::deletePlatformHelper() () at
/usr/lib/libQt5Widgets.so.5
#2 0x754b9b19 in () at /usr/lib/libQt5Widgets.so.5
#3 0x754b9d69 in QFileDialog::setOptions(QFlags)
() at /usr/lib/libQt5Widgets.so.5
#4 0x75e7e603 in KoFileDialog::createFileDialog() () at
/usr/lib/libkritawidgetutils.so.18
#5 0x75e7efd7 in KoFileDialog::filename() () at
/usr/lib/libkritawidgetutils.so.18
#6 0x7692592a in KisMainWindow::saveDocument(KisDocument*, bool, bool,
int) () at /usr/lib/libkritaui.so.18
after this, Krita called dialog exec
QString KoFileDialog::filename()
{
QString url;
createFileDialog(); --- > already deleted lxqt FileDialog
if (d->fileDialog->exec() ==
and exec triggered the already-destructed lxqt FileDialog's timer slot
#0 0x7fffdc77aaa6 in operator()
/home/comicfans/working/pacman/src/libfm-qt-0.12.0/src/filedialog.cpp:425
#1 0x7fffdc77aaa6 in call /usr/include/qt/QtCore/qobjectdefs_impl.h:130
#2 0x7fffdc77aaa6 in call /usr/include/qt/QtCore/qobjectdefs_impl.h:240
#3 0x7fffdc77aaa6 in
QtPrivate::QFunctorSlotObject<Fm::FileDialog::selectFilePathWithDelay(Fm::FilePath
const&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [clone .lto_priv.363]
/usr/include/qt/QtCore/qobjectdefs_impl.h:423
#4 0x74574a03 (/usr/lib/libQt5Core.so.5+0x2d9a03)
#5 0x7456840a in QObject::event(QEvent*)
(/usr/lib/libQt5Core.so.5+0x2cd40a)
#6 0x752b1e3b in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(/usr/lib/libQt5Widgets.so.5+0x151e3b)
#7 0x752b9815 in QApplication::notify(QObject*, QEvent*)
(/usr/lib/libQt5Widgets.so.5+0x159815)
#8 0x768ead97 in KisApplication::notify(QObject*, QEvent*)
(/usr/lib/libkritaui.so.18+0x57ed97)
#9 0x745371df in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(/usr/lib/libQt5Core.so.5+0x29c1df)
#10 0x74592ad7 in QTimerInfoList::activateTimers()
(/usr/lib/libQt5Core.so.5+0x2f7ad7)
#11 0x745932d1 (/usr/lib/libQt5Core.so.5+0x2f82d1)
#12 0x7fffebb0c26f in g_main_context_dispatch
(/usr/lib/libglib-2.0.so.0+0x6b26f)
#13 0x7fffebb0df68 (/usr/lib/libglib-2.0.so.0+0x6cf68)
#14 0x7fffebb0dfad in g_main_context_iteration
(/usr/lib/libglib-2.0.so.0+0x6cfad)
#15 0x74593690 in
QEventDispatcherGlib::processEvents(QFlags)
(/usr/lib/libQt5Core.so.5+0x2f8690)
#16 0x7fffe0b46281 (/usr/lib/libQt5XcbQpa.so.5+0xc5281)
#17 0x7453582a in
QEventLoop::exec(QFlags)
(/usr/lib/libQt5Core.so.5+0x29a82a)
#18 0x754a8dca in QDialog::exec()
(/usr/lib/libQt5Widgets.so.5+0x348dca)
#19 0x75e7efe8 in KoFileDialog::filename()
(/usr/lib/libkritawidgetutils.so.18+0x61fe8)
#20 0x76925929 in KisMainWindow::saveDocument(KisDocument*, bool, bool,
int) (/usr/lib/libkritaui.so.18+0x5b9929)
#21 0x76926d45 in KisMainWindow::slotFileSaveAs()
(/usr/lib/libkritaui.so.18+0x5bad45)
#22 0x7692b706 (/usr/lib/libkritaui.so.18+0x5bf706)
this leads crash.
lxqt con