Bug report #14988
style dock: QGIS dies when switching back and forth between symbology and other panels
| Status: | Closed | ||
|---|---|---|---|
| Priority: | Severe/Regression | ||
| Assignee: | |||
| Category: | Unknown | ||
| Affected QGIS version: | master | Regression?: | No |
| Operating System: | Easy fix?: | No | |
| Pull Request or Patch supplied: | No | Resolution: | fixed/implemented |
| Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 22936 |
Description
Steps to reproduce:
- Create a new QGIS project
- Open the style dock panel
- Add a vector layer
- Switch the style dock panel to label
- Switch the style dock panel back to symbology
- boom QGIS dies
GDB output:
#0 QMutex::lock (this=this@entry=0xb298338) at thread/qmutex.cpp:153
#1 0x00007ffff59a6849 in QCoreApplication::postEvent (receiver=0xb530a70, event=0xbf6e7d0, priority=0)
at kernel/qcoreapplication.cpp:1360
#2 0x00007ffff7743f96 in QgsMapStylingWidget::updateCurrentWidgetLayer (this=0x172f710)
at ../src/app/qgsmapstylingwidget.cpp:281
#3 0x00007ffff799be87 in QgsMapStylingWidget::qt_static_metacall (_o=0x172f710, _c=QMetaObject::InvokeMetaMethod, _id=6,
_a=0x7fffffffbff0) at src/app/moc_qgsmapstylingwidget.cxx:68
#4 0x00007ffff59b7010 in QMetaObject::activate (sender=sender@entry=0x17345c0,
m=m@entry=0x7ffff57f9000 <QListWidget::staticMetaObject>, local_signal_index=local_signal_index@entry=8,
argv=argv@entry=0x7fffffffbff0) at kernel/qobject.cpp:3567
#5 0x00007ffff528c7c1 in QListWidget::currentRowChanged (this=this@entry=0x17345c0, _t1=0)
at .moc/release-shared/moc_qlistwidget.cpp:260
#6 0x00007ffff528c904 in QListWidgetPrivate::_q_emitCurrentItemChanged (this=0x173a510, current=..., previous=...)
at itemviews/qlistwidget.cpp:1121
#7 0x00007ffff59b7010 in QMetaObject::activate (sender=sender@entry=0x17390f0,
m=m@entry=0x7ffff57f8900 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=1,
argv=argv@entry=0x7fffffffc180) at kernel/qobject.cpp:3567
#8 0x00007ffff527a1ca in QItemSelectionModel::currentChanged (this=this@entry=0x17390f0, _t1=..., _t2=...)
at .moc/release-shared/moc_qitemselectionmodel.cpp:172
#9 0x00007ffff527a33f in QItemSelectionModel::setCurrentIndex (this=0x17390f0, index=..., command=...)
at itemviews/qitemselectionmodel.cpp:1175
#10 0x00007ffff52284cc in QAbstractItemView::mousePressEvent (this=0x17345c0, event=<optimized out>)
at itemviews/qabstractitemview.cpp:1682
#11 0x00007ffff4d40490 in QWidget::event (this=this@entry=0x17345c0, event=event@entry=0x7fffffffca10)
at kernel/qwidget.cpp:8385
#12 0x00007ffff5108cee in QFrame::event (this=0x17345c0, e=0x7fffffffca10) at widgets/qframe.cpp:557
#13 0x00007ffff522e663 in QAbstractItemView::viewportEvent (this=0x17345c0, event=0x7fffffffca10)
at itemviews/qabstractitemview.cpp:1644
#14 0x00007ffff59a2a76 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x8f9c10,
receiver=receiver@entry=0x17347f0, event=event@entry=0x7fffffffca10) at kernel/qcoreapplication.cpp:1065
#15 0x00007ffff4ce8fbc in QApplicationPrivate::notify_helper (this=this@entry=0x8f9c10, receiver=receiver@entry=0x17347f0,
e=e@entry=0x7fffffffca10) at kernel/qapplication.cpp:4566
#16 0x00007ffff4cf00d6 in QApplication::notify (this=<optimized out>, receiver=0x17347f0, e=0x7fffffffca10)
at kernel/qapplication.cpp:4113
#17 0x00007ffff603a0e3 in QgsApplication::notify (this=0x7fffffffdad0, receiver=0x17347f0, event=0x7fffffffca10)
at ../src/core/qgsapplication.cpp:281
Related issues
History
#1
Updated by Mathieu Pellerin - nIRV over 9 years ago
You might have to switch back and forth a couple of times (e.g., symbology -> history -> symboogy -> history -> symbology boom death) for the crash to appear depending on the initial state of the style dock.
#2
Updated by Mathieu Pellerin - nIRV over 9 years ago
The crash occurs at the line which calls Qt's deleteLater() function:
switch ( row )
{
case 0: // Style
{
mVectorStyleWidget->deleteLater();
Edit: simply removing the line takes care of the crash, but obviously it must have been there for a reason :) the line was added in commit 31c572f0ad93f1cb90d8b9f7d6956090f4661261
#3
Updated by Matthias Kuhn over 9 years ago
- Resolution set to fixed/implemented
- Status changed from Open to Closed
Fixed in c6cba65
#4
Updated by Jürgen Fischer about 8 years ago
- Category set to Unknown