Hi,

My program has been working perfectly with all versions of Qt up to 4.5.2, however with Qt 4.5.3 I have big problems with rows updating in my QTableView.

I'm really stuck because the code has been working fine for so long, I cant narrow down what the problem is

For example here is my model's data function, column 3 updates randomly, not when the models data actually changes, for example if i click around and resize the tableview it forces the value to update.

Qt Code:
  1. QVariant dlQueueModel::data(const QModelIndex &index, int role) const
  2. {
  3. // Data for table view
  4. if(!index.isValid())
  5. {
  6. return QVariant();
  7. }
  8.  
  9. if(index.row() >= jobs.size() || index.row() < 0)
  10. {
  11. return QVariant();
  12. }
  13.  
  14. if (role == Qt::DisplayRole)
  15. {
  16.  
  17. ...
  18.  
  19. else if(index.column() == 4)
  20. {
  21. return QString::number(jobs.at(index.row()).getTotalSegments() - jobs.at(index.row()).getIncompleteSegments()) +
  22. " of " + QString::number(jobs.at(index.row()).getTotalSegments());
  23. }
  24. }
  25.  
  26.  
  27. return QVariant();
  28. }
To copy to clipboard, switch view to plain text mode 

When I update the data I call this function:
Qt Code:
  1. void dlQueueModel::itemChanged(int aX, int aY, int bX, int bY)
  2. {
  3. // Let the model know its data has changed
  4. emit dataChanged(createIndex(aX, aY), createIndex(bX, bY));
  5. }
To copy to clipboard, switch view to plain text mode 

Does anyone know of anything QTableView related that changed in 4.5.3 that could be causing these issues?

Thanks and sorry for the vagueness!