[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48484] trunk/blender/source/blender/ blenloader/intern/readfile.c: Fix #31961: Grease Pencil in VSE don' t save the data

Sergey Sharybin sergey.vfx at gmail.com
Mon Jul 2 10:30:43 CEST 2012


Revision: 48484
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48484
Author:   nazgul
Date:     2012-07-02 08:30:29 +0000 (Mon, 02 Jul 2012)
Log Message:
-----------
Fix #31961: Grease Pencil in VSE don't save the data

Issue was caused by linking to grease pencil from direct_link* function
which lead to NULL GP data because it's being read a way later.

Link to GP data in lib_link* instead.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2012-07-02 08:20:40 UTC (rev 48483)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2012-07-02 08:30:29 UTC (rev 48484)
@@ -5909,11 +5909,20 @@
 				}
 			}
 			else if (sl->spacetype == SPACE_SEQ) {
+				/* grease pencil data is not a direct data and can't be linked from direct_link*
+				 * functions, it should be linked from lib_link* funcrions instead
+				 *
+				 * otherwise it'll lead to lost grease data on open because it'll likely be
+				 * read from file after all other users of grease pencil and newdataadr would
+				 * simple return NULL here (sergey)
+				 */
+#if 0
 				SpaceSeq *sseq = (SpaceSeq *)sl;
 				if (sseq->gpd) {
 					sseq->gpd = newdataadr(fd, sseq->gpd);
 					direct_link_gpencil(fd, sseq->gpd);
 				}
+#endif
 			}
 			else if (sl->spacetype == SPACE_BUTS) {
 				SpaceButs *sbuts = (SpaceButs *)sl;




More information about the Bf-blender-cvs mailing list