Prevent AliasesSettingsPage from crashing when disconnected from core
authorManuel Nickschas <sputnick@quassel-irc.org>
Wed, 18 Mar 2009 14:50:41 +0000 (15:50 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 18 Mar 2009 14:50:41 +0000 (15:50 +0100)
src/qtui/settingspages/aliasesmodel.cpp
src/qtui/settingspages/aliasesmodel.h

index ded0600..416414d 100644 (file)
@@ -226,8 +226,8 @@ void AliasesModel::commit() {
 }
 
 void AliasesModel::initDone() {
 }
 
 void AliasesModel::initDone() {
-  reset();
   _modelReady = true;
   _modelReady = true;
+  reset();
   emit modelReady(true);
 }
 
   emit modelReady(true);
 }
 
@@ -242,7 +242,7 @@ void AliasesModel::clientConnected() {
 void AliasesModel::clientDisconnected() {
   // clear
   _clonedAliasManager = ClientAliasManager();
 void AliasesModel::clientDisconnected() {
   // clear
   _clonedAliasManager = ClientAliasManager();
-  reset();
   _modelReady = false;
   _modelReady = false;
+  reset();
   emit modelReady(false);
 }
   emit modelReady(false);
 }
index c6e8295..74a0cfd 100644 (file)
@@ -43,8 +43,8 @@ public:
 
   inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); }
 
 
   inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); }
 
-  inline int rowCount(const QModelIndex &parent = QModelIndex()) const { Q_UNUSED(parent) return aliasManager().count(); }
-  inline int columnCount(const QModelIndex &parent = QModelIndex()) const { Q_UNUSED(parent) return 2; }
+  inline int rowCount(const QModelIndex &parent = QModelIndex()) const;
+  inline int columnCount(const QModelIndex &parent = QModelIndex()) const;
 
   inline bool configChanged() const { return _configChanged; }
   inline bool isReady() const { return _modelReady; }
 
   inline bool configChanged() const { return _configChanged; }
   inline bool isReady() const { return _modelReady; }
@@ -75,4 +75,16 @@ private slots:
   void initDone();
 };
 
   void initDone();
 };
 
+// Inlines
+int AliasesModel::rowCount(const QModelIndex &parent) const {
+  Q_UNUSED(parent);
+  return isReady() ? aliasManager().count() : 0;
+}
+
+int AliasesModel::columnCount(const QModelIndex &parent) const {
+  Q_UNUSED(parent);
+  return isReady() ? 2 : 0;
+}
+    
+
 #endif //ALIASESMODEL_H
 #endif //ALIASESMODEL_H