In QGIS 2.12 carrying out the following steps leads to unexpected results. I wonder if anyone can shed some light on this.
Copy a layer from a previous project to a new project using Windows Explorer copy and paste of all layer files (dbf, prj, qpj, shp, shx).
Delete the polygons in the new project, make some new polygons in different locations and save.
Paste some data into the .dbf file of the new layer (being careful not to re-arrange the order of the polygons)
Returning to QGIS, the polygons have all reverted to their previous locations, this despite them being deleted, re-drawn and saved.
This is not consistently replicable, but I've not been able to work out what it is about the projects that do this.
Any ideas where QGIS is storing the locations of the old polygons so that I can clear this 'cache', or why it's doing this at all?
I've gone through a simplified set of steps to clarify the issue. Copy an entire project, including it's layers to another folder. Open one of the layers and delete the polygons. Save the changes, close the project. Open that layer's .dbf file, make one small change (I added the letter 'a' to a text column), save. Re-open the project - all the polygons have reverted to their previous locations before being deleted (even though I saved the deletion). How does QGIS know where the polygons used to be?
Sorry for the long edit, but this is really weird - Open the .dbf in OpenOffice Calc it has just the new polygons, open it in OpenOffice Base (which deals with dBase files) and it has just the new polygons. Open it in WPS (Excel equivalent), and all the old polygons are still there despite being deleted and saved twice!
Just to save anyone the bother, I've written this one off as a bug in QGIS, and so not really suitable for this forum.
The final proof - I loaded the offending layer in a friend's ArcGIS, all the polygons are still there, despite being deleted in QGIS twice.