]> git.sur5r.net Git - minitube/blobdiff - src/channelmodel.cpp
Upload 3.9.3-2 to unstable
[minitube] / src / channelmodel.cpp
index a2cbd36f4f9b90eea5cfad882fa280fa4e1c073e..7286abf52423d2d16f8d18a674d33acb4903bd1b 100644 (file)
@@ -84,13 +84,19 @@ void ChannelModel::setQuery(const QString &query, const QSqlDatabase &db) {
         qWarning() << q.lastQuery() << q.lastError().text();
         sqlError = q.lastError();
     }
+    channels.reserve(q.size());
     while (q.next()) {
         YTChannel *channel = YTChannel::forId(q.value(0).toString());
-        connect(channel, SIGNAL(thumbnailLoaded()), SLOT(updateSender()), Qt::UniqueConnection);
-        connect(channel, SIGNAL(notifyCountChanged()), SLOT(updateSender()), Qt::UniqueConnection);
-        connect(channel, SIGNAL(destroyed(QObject *)), SLOT(removeChannel(QObject *)), Qt::UniqueConnection);
-        channels << channel;
+        if (channel) {
+            connect(channel, SIGNAL(thumbnailLoaded()), SLOT(updateSender()), Qt::UniqueConnection);
+            connect(channel, SIGNAL(notifyCountChanged()), SLOT(updateSender()),
+                    Qt::UniqueConnection);
+            connect(channel, SIGNAL(destroyed(QObject *)), SLOT(removeChannel(QObject *)),
+                    Qt::UniqueConnection);
+            channels << channel;
+        }
     }
+    channels.squeeze();
     endResetModel();
 }