From 841fe55e67ea467a8e2192dee5c169d282a35148 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 24 Jun 2015 01:52:52 +0300 Subject: Add missing checks into models. --- src/gui/models/colormodel.cpp | 2 ++ src/gui/models/namesmodel.cpp | 2 ++ src/gui/models/serverslistmodel.h | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/models/colormodel.cpp b/src/gui/models/colormodel.cpp index 212ed5227..f7b18d300 100644 --- a/src/gui/models/colormodel.cpp +++ b/src/gui/models/colormodel.cpp @@ -70,6 +70,8 @@ void ColorModel::add(const std::string &name, const Color *const color1, ColorModel *ColorModel::createDefault(const Widget2 *const widget) { ColorModel *const model = new ColorModel(); + if (!widget) + return model; // TRANSLATORS: color name addColor(_("black"), BLACK); // TRANSLATORS: color name diff --git a/src/gui/models/namesmodel.cpp b/src/gui/models/namesmodel.cpp index ed0d78269..b3137d264 100644 --- a/src/gui/models/namesmodel.cpp +++ b/src/gui/models/namesmodel.cpp @@ -47,6 +47,8 @@ std::string NamesModel::getElementAt(int i) void NamesModel::fillFromArray(const char *const *const arr, std::size_t sz) { + if (!arr) + return; for (size_t f = 0; f < sz; f ++) mNames.push_back(gettext(arr[f])); } diff --git a/src/gui/models/serverslistmodel.h b/src/gui/models/serverslistmodel.h index 864cc70c6..d3d0aec26 100644 --- a/src/gui/models/serverslistmodel.h +++ b/src/gui/models/serverslistmodel.h @@ -42,7 +42,8 @@ class ServersListModel final : public ListModel ServersListModel(ServerInfos *const servers, ServerDialog *const parent) : mServers(servers), - mVersionStrings(servers->size(), VersionString(0, "")), + mVersionStrings(servers ? servers->size() : 0, + VersionString(0, "")), mParent(parent) { } -- cgit v1.2.3-70-g09d2