[Bf-blender-cvs] [b19021ecfa6] greasepencil-object: Temporary (?) fix so that Hero project files get version patched correctly
Joshua Leung
noreply at git.blender.org
Sat Nov 4 05:48:23 CET 2017
Commit: b19021ecfa64e5a44c81a786bead1836510232ec
Author: Joshua Leung
Date: Wed Nov 1 00:13:12 2017 +1300
Branches: greasepencil-object
https://developer.blender.org/rBb19021ecfa64e5a44c81a786bead1836510232ec
Temporary (?) fix so that Hero project files get version patched correctly
===================================================================
M source/blender/blenloader/intern/versioning_280.c
===================================================================
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 84704e84673..a342b4954c5 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -440,34 +440,6 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
BKE_gpencil_batch_cache_dirty(ob->data);
}
}
-
- /* Handle object-linked grease pencil datablocks */
- for (Object *ob = main->object.first; ob; ob = ob->id.next) {
- if (ob->gpd) {
- if (ob->type == OB_GPENCIL) {
- /* GP Object - remap the links */
- ob->data = ob->gpd;
- ob->gpd = NULL;
- }
- else if (ob->type == OB_EMPTY) {
- /* Empty with GP data - This should be able to be converted
- * to a GP object with little data loss
- */
- ob->data = ob->gpd;
- ob->gpd = NULL;
- ob->type = OB_GPENCIL;
- }
- else {
- /* FIXME: What to do in this case?
- *
- * We cannot create new objects for these, as we don't have a scene & scene layer
- * to put them into from here...
- */
- printf("WARNING: Old Grease Pencil data ('%s') still exists on Object '%s'\n",
- ob->gpd->id.name+2, ob->id.name+2);
- }
- }
- }
/* Convert grease pencil palettes to blender palettes */
if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "Palette", "*palette")) {
@@ -580,6 +552,37 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
}
}
}
+
+ /* XXX: Merge back into previous case... leaving like this so the Hero animatic/production files so far don't break */
+ if (!MAIN_VERSION_ATLEAST(main, 280, 3)) {
+ /* Handle object-linked grease pencil datablocks */
+ for (Object *ob = main->object.first; ob; ob = ob->id.next) {
+ if (ob->gpd) {
+ if (ob->type == OB_GPENCIL) {
+ /* GP Object - remap the links */
+ ob->data = ob->gpd;
+ ob->gpd = NULL;
+ }
+ else if (ob->type == OB_EMPTY) {
+ /* Empty with GP data - This should be able to be converted
+ * to a GP object with little data loss
+ */
+ ob->data = ob->gpd;
+ ob->gpd = NULL;
+ ob->type = OB_GPENCIL;
+ }
+ else {
+ /* FIXME: What to do in this case?
+ *
+ * We cannot create new objects for these, as we don't have a scene & scene layer
+ * to put them into from here...
+ */
+ printf("WARNING: Old Grease Pencil data ('%s') still exists on Object '%s'\n",
+ ob->gpd->id.name+2, ob->id.name+2);
+ }
+ }
+ }
+ }
{
if (!DNA_struct_elem_find(fd->filesdna, "View3D", "short", "custom_orientation_index")) {
More information about the Bf-blender-cvs
mailing list