Ok well I'm trying implement something similar to the 'undo' function in many image drawing programs .. The problem I'm having is this: I'm trying to make a backup copy of a QImage object in a QVector (which stores upto 10 latest QImage copies for backup purposes), and then try to retrieve these backups in another function. The issue is that the backup is not being created properly (since when I try to recover a backuped image, nothing happens). I know the problem is somewhere in backing up part and not in the recovering part, since when I backup a new temporary image with a red background, it recovers perfectly ..

This is the backing up function code:

Qt Code:
  1. imageBackups.append(image);
To copy to clipboard, switch view to plain text mode 

where 'image' is the QImage object that I'm trying to backup ..

This is an alternate backing up (stores a red colored background image) - I used this just to see if this version of backing up works, which it does:

Qt Code:
  1. QImage newImage(QSize(100,100), QImage::Format_RGB32);
  2. newImage.fill(qRgb(255, 0, 0));
  3. imageBackups.append(newImage);
To copy to clipboard, switch view to plain text mode 

And here is the recovering code:

Qt Code:
  1. image =imageBackups.at(imageBackups.size()-1);
  2. QPainter painter(&image);
  3. painter.drawImage(QPoint(0,0),imageBackups.at(imageBackups.size()-1));
To copy to clipboard, switch view to plain text mode 

'image' is defined exactly like newImage above, except the size which is 800x400 in this case..