diff options
Diffstat (limited to 'sowatchd')
-rw-r--r-- | sowatchd/watchhandler.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sowatchd/watchhandler.cpp b/sowatchd/watchhandler.cpp index 4cd86d3..cc75d45 100644 --- a/sowatchd/watchhandler.cpp +++ b/sowatchd/watchhandler.cpp @@ -117,9 +117,15 @@ void WatchHandler::updateWatchlets() // We need to add this watchlet const QString id = newWatchlets[i]; Watchlet *watchlet = createWatchlet(id); - _watchlet_order << id; - _watchlets[id] = watchlet; - _server->addWatchlet(watchlet); + if (watchlet) { + _watchlet_order << id; + _watchlets[id] = watchlet; + _server->addWatchlet(watchlet); + } else { + qWarning() << "Failed to load watchlet" << id; + newWatchlets.removeAt(i); + i--; // Retry + } } else if (newWatchlets[i] != _watchlet_order[i]) { // Let's find out if this watchlet has been moved, or removed. const QString id = _watchlet_order[i]; |