Page MenuHome

New shapekey features potentially destroy mesh shape on old files on tab-tab
Confirmed, LowPublicKNOWN ISSUE


System Information
Fedora GNU/Linux 64 bit v 21/ intel cpu / nvidia gpu

Blender Version
Broken: Current Master
Worked: 2.73

Short description of error
Some shapekey enhancements seem to cause a problem on some old meshes, destroying basis shape just by tabbing in and out of edit mode
selecting the mesh and pressing 'tab tab' creates the error. Not that even though there appears to be an active shapekey, the buttons for pinning etc. are not visible.
If one first selects a shapekey and *then* tab tabs, the bug goes away. however, this can cause loss of work/destroyed meshes if the user does not notice in time.
Exact steps for others to reproduce the error
1- download the attached

2- open the file, the mesh should be selected
3- note the appearance of the shapkey panel: even though basis appears active, the pin button and associated area does not display
4- without clicking anywhere else, press tab-tab in the 3d view (enter and exit editmode)
5- note that the appearance of the mesh changes - if you save this it is not revertable
6- don't save
7- reopen the original file
8- this time, click once on the Basis Shape
9- observe that the relative checkbox, pin, and display in edit mode buttons all appear.
10- press tab tab in the 3d view
11- observe that the mesh shape does not change

Final notes:
In my opinion this is quite severe if/when it hits, as the user (in this case me) might not notice and end up doing a bunch of work in a file, saving and committing it. In my case, since I have SVN I can revert and redo that work. Other people may not be so lucky.

Event Timeline

bassam kurdali (bassamk) raised the priority of this task from to 90.
bassam kurdali (bassamk) updated the task description. (Show Details)
bassam kurdali (bassamk) edited a custom field.

Here's a short video of me doing the steps.

Yeah, this is really odd… File seems to come from 2.62, so I’d infer 2.63.20 versioning is the culprit:

	if (main->versionfile < 263 || (main->versionfile == 263 && main->subversionfile < 20)) {
		Key *key;
		for (key = main->key.first; key; key = key-> {

But still… Clicking on the active skey in the list merely do an object update, I would assume this is done anyway once the file has been read and versioned?

Campbell, Sergey, you may have a better idea of what’s happening here?

Bastien Montagne (mont29) lowered the priority of this task from 90 to Normal.Mar 15 2015, 11:25 AM

I've done a bunch of save and loads in current master (original file had a lot of rig stuff in it/ was huge) I wonder if it is incorrectly assuming I was editing a shape because no shape is active, and erroneously applying a difference to the basis?
It is still quite scary (I found the bug by doing totally unrelated things in the rig file - never looked at the elbow ) and then found all our anim files looked broken :/
luckily I have SVN!

Jeroen Bakker (jbakker) triaged this task as Low priority.Jan 28 2020, 8:23 AM
Jeroen Bakker (jbakker) changed the subtype of this task from "Report" to "Known Issue".

This is an issue that can still be reproduced. But as it only happens in old files I mark it as a Known Issue with Low priority.