Skip to content
Permalink
Browse files

Fix logic in QgsUserInputWidget which incorrectly deletes other

widgets whenever one existing widget is deleted

Fixes calls to iface.addUserInputWidget() does not show any widget if
an existing user input widget is already shown
  • Loading branch information
nyalldawson committed Oct 28, 2020
1 parent 912dd77 commit d8351c0a211588c7eed9bc3a887ca8c38fe950c0
Showing with 5 additions and 5 deletions.
  1. +5 −5 src/gui/qgsuserinputwidget.cpp
@@ -75,14 +75,14 @@ void QgsUserInputWidget::widgetDestroyed( QObject *obj )
if ( obj->isWidgetType() )
{
QWidget *w = qobject_cast<QWidget *>( obj );
QMap<QWidget *, QFrame *>::iterator i = mWidgetList.find( w );
while ( i != mWidgetList.end() )
auto it = mWidgetList.find( w );
if ( it != mWidgetList.end() )
{
if ( auto *lValue = i.value() )
if ( QFrame *frame = it.value() )
{
lValue->deleteLater();
frame->deleteLater();
}
i = mWidgetList.erase( i );
mWidgetList.erase( it );
}
}
if ( mWidgetList.count() == 0 )

0 comments on commit d8351c0

Please sign in to comment.
You can’t perform that action at this time.