[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17448] trunk/blender/source/blender/src/ gpencil.c: Bugfix:
Joshua Leung
aligorith at gmail.com
Fri Nov 14 03:13:13 CET 2008
Revision: 17448
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17448
Author: aligorith
Date: 2008-11-14 03:13:10 +0100 (Fri, 14 Nov 2008)
Log Message:
-----------
Bugfix:
Grease Pencil crashed after duplicating a screen-area, and deleting a layer from the original screen-area. The duplication code was not reassigning some pointers.
Modified Paths:
--------------
trunk/blender/source/blender/src/gpencil.c
Modified: trunk/blender/source/blender/src/gpencil.c
===================================================================
--- trunk/blender/source/blender/src/gpencil.c 2008-11-13 23:12:38 UTC (rev 17447)
+++ trunk/blender/source/blender/src/gpencil.c 2008-11-14 02:13:10 UTC (rev 17448)
@@ -267,6 +267,7 @@
/* make a copy of the source frame */
dst= MEM_dupallocN(src);
+ dst->prev= dst->next= NULL;
/* copy strokes */
dst->strokes.first = dst->strokes.last= NULL;
@@ -294,13 +295,18 @@
/* make a copy of source layer */
dst= MEM_dupallocN(src);
+ dst->prev= dst->next= NULL;
/* copy frames */
dst->frames.first= dst->frames.last= NULL;
for (gpf= src->frames.first; gpf; gpf= gpf->next) {
- /* make a copy of source stroke */
+ /* make a copy of source frame */
gpfd= gpencil_frame_duplicate(gpf);
BLI_addtail(&dst->frames, gpfd);
+
+ /* if source frame was the current layer's 'active' frame, reassign that too */
+ if (gpf == dst->actframe)
+ dst->actframe= gpfd;
}
/* return new layer */
More information about the Bf-blender-cvs
mailing list