Bug report #15179
regression: opening and closing the properties window on a non-geometry layer (e.g. csv) crashes QGIS
Status: | Closed | ||
---|---|---|---|
Priority: | Severe/Regression | ||
Assignee: | Martin Dobias | ||
Category: | Vectors | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 23118 |
Description
QGIS crashes when opening and closing the layer properties window of a non-geometry layer such as a csv dataset. It has to do with the style dock's undo stack.
Steps to reproduce- Create a new project
- Add a non-geometry dataset (csv, xlsx, etc.)
- Open the layer's properties window
- Close the properties window by clicking on the [ OK ] button
- boom QGIS dies
gdb trace
#0 QUndoStack::index (this=0x108) at util/qundostack.cpp:754 #1 0x00007ffff7819f21 in QgsUndoWidget::setUndoStack (this=0x17c93d0, undoStack=0x108) at /home/webmaster/dev/cpp/QGIS/src/app/qgsundowidget.cpp:151 #2 0x00007ffff772e27e in QgsLayerStylingWidget::updateCurrentWidgetLayer (this=0x179e360) at /home/webmaster/dev/cpp/QGIS/src/app/qgslayerstylingwidget.cpp:283 #3 0x00007ffff7554646 in QgisApp::showLayerProperties (this=0xb50050, ml=0xab77e30) at /home/webmaster/dev/cpp/QGIS/src/app/qgisapp.cpp:11353 #4 0x00007ffff753723c in QgisApp::layerProperties (this=0xb50050) at /home/webmaster/dev/cpp/QGIS/src/app/qgisapp.cpp:6286 #5 0x00007ffff7973c2f in QgisApp::qt_static_metacall (_o=0xb50050, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0x7fffffffb4a0) at /home/webmaster/dev/cpp/QGIS/bm/src/app/moc_qgisapp.cxx:670 #6 0x00007ffff58f6010 in QMetaObject::activate (sender=sender@entry=0x2ea69e0, m=m@entry=0x7ffff571eda0 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffb4a0) at kernel/qobject.cpp:3567 #7 0x00007ffff4c21d62 in QAction::triggered (this=this@entry=0x2ea69e0, _t1=false) at .moc/release-shared/moc_qaction.cpp:276 #8 0x00007ffff4c230b3 in QAction::activate (this=this@entry=0x2ea69e0, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257 #9 0x00007ffff50849fd in QMenuPrivate::activateCausedStack (this=this@entry=0xafd9170, causedStack=..., action=action@entry=0x2ea69e0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1037 #10 0x00007ffff5088de9 in QMenuPrivate::activateAction (this=0xafd9170, action=0x2ea69e0, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1129 #11 0x00007ffff4c7e8d0 in QWidget::event (this=this@entry=0x267fb40, event=event@entry=0x7fffffffbbc0) at kernel/qwidget.cpp:8775 #12 0x00007ffff508cffb in QMenu::event (this=0x267fb40, e=0x7fffffffbbc0) at widgets/qmenu.cpp:2480 #13 0x00007ffff4c27fdc in QApplicationPrivate::notify_helper (this=this@entry=0x947f00, receiver=receiver@entry=0x267fb40, e=e@entry=0x7fffffffbbc0) at kernel/qapplication.cpp:4570 #14 0x00007ffff4c2f0d6 in QApplication::notify (this=<optimized out>, receiver=0x267fb40, e=0x7fffffffbbc0) at kernel/qapplication.cpp:4113 #15 0x00007ffff5fc5999 in QgsApplication::notify (this=0x7fffffffdae0, receiver=0x267fb40, event=0x7fffffffbbc0) at /home/webmaster/dev/cpp/QGIS/src/core/qgsapplication.cpp:281 #16 0x00007ffff58e190d in QCoreApplication::notifyInternal (this=0x7fffffffdae0, receiver=receiver@entry=0x267fb40, event=event@entry=0x7fffffffbbc0) at kernel/qcoreapplication.cpp:955 #17 0x00007ffff4c2e6dd in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #18 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x267fb40, event=event@entry=0x7fffffffbbc0, alienWidget=alienWidget@entry=0x0, nativeWidget=nativeWidget@entry=0x267fb40, buttonDown=buttonDown@entry=0x7ffff5753368 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3178 #19 0x00007ffff4cacd7c in QETWidget::translateMouseEvent (this=this@entry=0x267fb40, event=event@entry=0x7fffffffbef0) at kernel/qapplication_x11.cpp:4572 #20 0x00007ffff4cabc83 in QApplication::x11ProcessEvent (this=0x7fffffffdae0, event=event@entry=0x7fffffffbef0) at kernel/qapplication_x11.cpp:3626 #21 0x00007ffff4cd5542 in x11EventSourceDispatch (s=0x947960, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #22 0x00007fffed33d1a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #23 0x00007fffed33d400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007fffed33d4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007ffff59122ae in QEventDispatcherGlib::processEvents (this=0x8a4ff0, flags=...) at kernel/qeventdispatcher_glib.cpp:450 #26 0x00007ffff4cd5616 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #27 0x00007ffff58e018f in QEventLoop::processEvents (this=this@entry=0x7fffffffc2e0, flags=...) at kernel/qeventloop.cpp:149 #28 0x00007ffff58e04f5 in QEventLoop::exec (this=this@entry=0x7fffffffc2e0, flags=...) at kernel/qeventloop.cpp:204 #29 0x00007ffff508bb57 in QMenu::exec (this=<optimized out>, p=..., action=0x0) at widgets/qmenu.cpp:2124 #30 0x00007ffff6d5d2cf in QgsLayerTreeView::contextMenuEvent (this=0x12e25d0, event=0x7fffffffca50) at /home/webmaster/dev/cpp/QGIS/src/gui/layertree/qgslayertreeview.cpp:123
Associated revisions
[styledock] Improve fix for crash with non-spatial layers
Follow up 58dbe56 (which fixes #15179)
History
#1 Updated by Martin Dobias over 8 years ago
- Assignee set to Martin Dobias
#2 Updated by Martin Dobias over 8 years ago
- Status changed from Open to Closed
Fixed in changeset 9a28b51e9a624fcbac0bd6c0f98ddd01876f0c1f.