Bug report #14988
style dock: QGIS dies when switching back and forth between symbology and other panels
Status: | Closed | ||
---|---|---|---|
Priority: | Severe/Regression | ||
Assignee: | Nathan Woodrow | ||
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 8 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 8 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 8 years ago
- Resolution set to fixed/implemented
- Status changed from Open to Closed
Fixed in c6cba65
#4 Updated by Jürgen Fischer about 7 years ago
- Category set to Unknown