[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16930] trunk/blender/source/blender/src/ transform_conversions.c: Bugfix:
Joshua Leung
aligorith at gmail.com
Sun Oct 5 12:48:07 CEST 2008
Revision: 16930
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16930
Author: aligorith
Date: 2008-10-05 12:48:07 +0200 (Sun, 05 Oct 2008)
Log Message:
-----------
Bugfix:
Reordering Grease-Pencil frames in the Action Editor after transforms was not working at all. Seems I forgot to fix this part after changing what the 'Grease Pencil' editing mode in Action Editor showed.
Modified Paths:
--------------
trunk/blender/source/blender/src/transform_conversions.c
Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c 2008-10-05 09:44:46 UTC (rev 16929)
+++ trunk/blender/source/blender/src/transform_conversions.c 2008-10-05 10:48:07 UTC (rev 16930)
@@ -2518,6 +2518,7 @@
* (these need to be sorted as they are isolated)
*/
for (gpf= gpl->frames.first; gpf; gpf= gpfn) {
+ short added= 0;
gpfn= gpf->next;
if (gpf->flag & GP_FRAME_SELECT) {
@@ -2531,10 +2532,11 @@
/* if current (gpf) occurs after this one in buffer, add! */
if (gfs->framenum < gpf->framenum) {
BLI_insertlinkafter(&sel_buffer, gfs, gpf);
+ added= 1;
break;
}
}
- if (gfs == NULL)
+ if (added == 0)
BLI_addhead(&sel_buffer, gpf);
}
}
@@ -2552,12 +2554,9 @@
}
/* loop 2: remove duplicates of frames in buffers */
- //gfs= sel_buffer.first;
- //gfsn= gfs->next;
-
for (gpf= gpl->frames.first; gpf && sel_buffer.first; gpf= gpfn) {
gpfn= gpf->next;
-
+
/* loop through sel_buffer, emptying stuff from front of buffer if ok */
for (gfs= sel_buffer.first; gfs && gpf; gfs= gfsn) {
gfsn= gfs->next;
@@ -3899,7 +3898,17 @@
/* remove duplicate frames and also make sure points are in order! */
if ((cancelled == 0) || (duplicate))
{
- posttrans_gpd_clean(data);
+ ScrArea *sa;
+
+ /* BAD... we need to loop over all screen areas for current screen...
+ * - sync this with actdata_filter_gpencil() in editaction.c
+ */
+ for (sa= G.curscreen->areabase.first; sa; sa= sa->next) {
+ bGPdata *gpd= gpencil_data_getactive(sa);
+
+ if (gpd)
+ posttrans_gpd_clean(gpd);
+ }
}
}
More information about the Bf-blender-cvs
mailing list