SIGSEGV when deleting the last profile from the connection dialog box
With rolisteam compiled from sources, git revision "9e6812bb Fix scaling issue after loading map with image item.". In the connection box, you initially have a single profile. Click "-" to delete it. Confirm. You get a segmentation fault and the program crashes.
Thread 1 "rolisteam" received signal SIGSEGV, Segmentation fault.
QString::QString (other=..., this=0x7fffffffd6a0, this@entry=0x7fffffffd640)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1051
1051 { Q_ASSERT(&other != this); d->ref.ref(); }
(gdb) bt
#0 QString::QString (other=..., this=0x7fffffffd6a0, this@entry=0x7fffffffd640)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1051
#1 ConnectionProfile::getAddress (this=0x5555564e51c0)
at ../../client/network/connectionprofile.cpp:50
#2 0x000055555577b662 in SelectConnectionProfileDialog::updateGUI (
this=0x5555563fee70)
at ../../client/network/selectconnectionprofiledialog.cpp:308
#3 0x000055555577b98a in SelectConnectionProfileDialog::setCurrentProfile (
this=0x5555563fee70, index=...)
at ../../client/network/selectconnectionprofiledialog.cpp:302
#4 0x000055555577b9b2 in operator() (selected=..., __closure=<optimized out>)
at ../../client/network/selectconnectionprofiledialog.cpp:271
#5 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<const QModelIndex&, const QModelIndex&>, void, SelectConnectionProfileDialog::SelectConnectionProfileDialog(QString, QWidget*)::<lambda(const QModelIndex&, const QModelIndex&)> >::call (arg=<optimized out>, f=...)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#6 QtPrivate::Functor<SelectConnectionProfileDialog::SelectConnectionProfileDialog(QString, QWidget*)::<lambda(const QModelIndex&, const QModelIndex&)>, 2>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&>, void> (arg=<optimized out>,
f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#7 QtPrivate::QFunctorSlotObject<SelectConnectionProfileDialog::SelectConnectionProfileDialog(QString, QWidget*)::<lambda(const QModelIndex&, const QModelIndex&)>, 2, QtPrivate::List<const QModelIndex&, const QModelIndex&>, void>::impl (which=1,
r=<optimized out>, ret=<optimized out>, a=<optimized out>,
this_=<optimized out>)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#8 QtPrivate::QFunctorSlotObject<SelectConnectionProfileDialog::SelectConnectionProfileDialog(QString, QWidget*)::<lambda(const QModelIndex&, const QModelIndex&)>, 2, QtPrivate::List<const QModelIndex&, const QModelIndex&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>,
this_=<optimized out>, r=<optimized out>, a=<optimized out>,
ret=<optimized out>)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:436
#9 0x00007ffff62e08c6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff6257213 in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff62611f1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff62e0900 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff624740e in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff624eed2 in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x000055555577ab2c in ProfileModel::removeProfile (this=0x5555564e45f0,
profile=<optimized out>)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:60
#16 0x000055555577bace in SelectConnectionProfileDialog::removeProfile (
this=0x5555563fee70)
at ../../client/network/selectconnectionprofiledialog.cpp:344
#17 0x00007ffff62e0900 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff7a8a19d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff7a8a436 in QAbstractButton::mousePressEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff79dd52e in QWidget::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff799d03f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff79a2781 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff62abb62 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff79a1696 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff79f595e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff79f87ae in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff799d03f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff62abb62 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff6c8c45b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#30 0x00007ffff6c62c0b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#31 0x00007fffe3911b6a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#32 0x00007fffee12cbdb in g_main_context_dispatch ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffee12ce88 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffee12cf3f in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff63012ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff62aa4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007ffff62b2782 in QCoreApplication::exec() ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00005555555fe468 in main (argc=<optimized out>, argv=0x7fffffffe9c0)
at ../../client/main.cpp:207