From 5454bee20ca6a284d3a6313b512b835b6777189b Mon Sep 17 00:00:00 2001 From: uclaros Date: Mon, 7 Dec 2020 10:44:00 +0200 Subject: [PATCH] Do not register QgsFilterLineEdit's child widgets as QgsOptionsDialogHighlightWidget The clear value button might be deleted. This allows QgsFilterLineEdit, QgsSpinBox and QgsDoubleSpinbox usage in options. --- src/gui/qgsoptionsdialoghighlightwidget.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/qgsoptionsdialoghighlightwidget.cpp b/src/gui/qgsoptionsdialoghighlightwidget.cpp index 55239160d7db..a5dff0a5aa44 100644 --- a/src/gui/qgsoptionsdialoghighlightwidget.cpp +++ b/src/gui/qgsoptionsdialoghighlightwidget.cpp @@ -24,6 +24,7 @@ #include "qgsoptionsdialoghighlightwidget.h" #include "qgsmessagebaritem.h" +#include "qgsfilterlineedit.h" #include "qgsoptionsdialoghighlightwidgetsimpl.h" @@ -41,7 +42,9 @@ QgsOptionsDialogHighlightWidget *QgsOptionsDialogHighlightWidget::createWidget( while ( ( parent = parent->parentWidget() ) ) { // do not register message bar content, items disappear and causes QGIS to crash - if ( qobject_cast< QgsMessageBarItem * >( parent ) ) + // do not register QgsFilterLineEdit's child widgets, the clear button might be deleted + if ( qobject_cast< QgsMessageBarItem * >( parent ) || + qobject_cast< QgsFilterLineEdit * >( parent ) ) { // return invalid widget return nullptr;