Details
-
Bug
-
Resolution: Out of scope
-
P1: Critical
-
None
-
4.8.5, 5.3.0
-
None
Description
QGraphicsGridLayout and QGraphicsLinearLayout use global QWidgets, causing crashes in some KDE applications on exit. According to QTBUG-16974 global QWidgets are unsupported.
The presence of Q_GLOBAL_STATIC QWidgets has been verified on Qt 5.3 (dev branch) and Qt 4.8.5.
Backtrace from Qt 4.8.5 looks as follows, and confirms "globalStyleInfoWidget" causing the issue:
Thread 1 (Thread 0x7f23b1e45780 (LWP 1163)):
[KCrash Handler]
#6 0x00007f23afd7b69e in QRasterWindowSurface::~QRasterWindowSurface (this=0x726e6d0, __in_chrg=<optimized out>) at painting/qwindowsurface_raster.cpp:117
#7 0x00007f23afd7b769 in QRasterWindowSurface::~QRasterWindowSurface (this=0x726e6d0, __in_chrg=<optimized out>) at painting/qwindowsurface_raster.cpp:121
#8 0x00007f23afd96dd7 in QWidgetBackingStore::~QWidgetBackingStore (this=0x5edc9a0, __in_chrg=<optimized out>) at painting/qbackingstore.cpp:909
#9 0x00007f23afbad3e9 in QWidgetBackingStoreTracker::destroy (this=0x70d2a50) at kernel/qwidget.cpp:225
#10 0x00007f23afbad595 in QWidgetPrivate::deleteExtra (this=this@entry=0x16b3d20) at kernel/qwidget.cpp:1833
#11 0x00007f23afbad7dd in QWidgetPrivate::~QWidgetPrivate (this=0x16b3d20, __in_chrg=<optimized out>) at kernel/qwidget.cpp:365
#12 0x00007f23afbada69 in QWidgetPrivate::~QWidgetPrivate (this=0x16b3d20, __in_chrg=<optimized out>) at kernel/qwidget.cpp:370
#13 0x00007f23b0aa2007 in cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:62
#14 ~QScopedPointer (this=0x1727008, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:100
#15 QObject::~QObject (this=0x1727000, __in_chrg=<optimized out>) at kernel/qobject.cpp:816
#16 0x00007f23afbb76dc in QWidget::~QWidget (this=0x1727000, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1554
#17 0x00007f23afbb7959 in QWidget::~QWidget (this=0x1727000, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1703
#18 0x00007f23b0156d55 in QGlobalStaticDeleter<QWidget>::~QGlobalStaticDeleter (this=0x7f23b06e1988 <globalStyleInfoWidget()::cleanup>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1950
#19 0x00007f23af31dc99 in __run_exit_handlers () from /lib/libc.so.6
#20 0x00007f23af31dce5 in exit () from /lib/libc.so.6
For more backtraces of the crashes, see also https://bugs.kde.org/show_bug.cgi?id=261539
See also https://qt.gitorious.org/qt/bibrs-qt/commit/f900144fdb7e5b811011315a98b7ea7ed9a80f32
Attachments
Issue Links
- relates to
-
QTBUG-35099 style-dependent spacings are not picked up from the style when the style changes and the layout is invalidated.
- Closed