]> git.sur5r.net Git - bacula/bacula/commitdiff
I was able to reproduce some segfaults by using the keyborad arrows going
authorDirk H Bartley <dbartley@schupan.com>
Tue, 31 Mar 2009 17:00:16 +0000 (17:00 +0000)
committerDirk H Bartley <dbartley@schupan.com>
Tue, 31 Mar 2009 17:00:16 +0000 (17:00 +0000)
quickly through some tree and table items.  This seems to solve them.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8668 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/qt-console/restore/restoretree.cpp

index ef7a01ac07bfa4bf0262ff98e80b39de9974fa3d..0c2924eb8fbfae0cd26da93fe2a6c6db7cd895f5 100644 (file)
@@ -1202,6 +1202,7 @@ void restoreTree::updateFileTableChecks()
    int rcnt = fileTable->rowCount();
    for (int row=0; row<rcnt; row++) {
       QTableWidgetItem* item = fileTable->item(row, 0);
+      if (!item) return;
 
       Qt::CheckState curState = item->checkState();
       Qt::CheckState newState = Qt::PartiallyChecked;
@@ -1243,6 +1244,7 @@ void restoreTree::updateVersionTableChecks()
 
    /* deterimine the default state from the state of the file */
    QTableWidgetItem *fileTableItem = fileTable->item(fileTable->currentRow(), 0);
+   if (!fileTableItem) return;
    Qt::CheckState fileState = fileTableItem->checkState();
    QString file = fileTableItem->text();
    QString fullPath = dirName + file;
@@ -1252,6 +1254,7 @@ void restoreTree::updateVersionTableChecks()
    int cnt = versionTable->rowCount();
    for (int row=0; row<cnt; row++) {
       QTableWidgetItem* item = versionTable->item(row, 0);
+      if (!item) break;
 
       Qt::CheckState curState = item->checkState();
       Qt::CheckState newState = Qt::Unchecked;