Skip to content

Commit d4e8f63

Browse files
committed
Check for model items size before removing rows
This was hitting an assert in Qt core libraries 5.9.3
1 parent ac4be1b commit d4e8f63

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,29 @@ void QgsGraduatedSymbolRendererModel::setRenderer( QgsGraduatedSymbolRenderer *r
5555
{
5656
if ( mRenderer )
5757
{
58-
beginRemoveRows( QModelIndex(), 0, mRenderer->ranges().size() - 1 );
59-
mRenderer = nullptr;
60-
endRemoveRows();
58+
if ( mRenderer->ranges().size() )
59+
{
60+
beginRemoveRows( QModelIndex(), 0, mRenderer->ranges().size() - 1 );
61+
mRenderer = nullptr;
62+
endRemoveRows();
63+
}
64+
else
65+
{
66+
mRenderer = nullptr;
67+
}
6168
}
6269
if ( renderer )
6370
{
64-
beginInsertRows( QModelIndex(), 0, renderer->ranges().size() - 1 );
65-
mRenderer = renderer;
66-
endInsertRows();
71+
if ( renderer->ranges().size() )
72+
{
73+
beginInsertRows( QModelIndex(), 0, renderer->ranges().size() - 1 );
74+
mRenderer = renderer;
75+
endInsertRows();
76+
}
77+
else
78+
{
79+
mRenderer = renderer;
80+
}
6781
}
6882
}
6983

0 commit comments

Comments
 (0)