[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12289] trunk/blender/source/blender/src/ editseq.c: (own mistake) transform markers wasnt working, bad memory use.
Campbell Barton
cbarton at metavr.com
Thu Oct 18 22:43:39 CEST 2007
Revision: 12289
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12289
Author: campbellbarton
Date: 2007-10-18 22:43:39 +0200 (Thu, 18 Oct 2007)
Log Message:
-----------
(own mistake) transform markers wasnt working, bad memory use.
Modified Paths:
--------------
trunk/blender/source/blender/src/editseq.c
Modified: trunk/blender/source/blender/src/editseq.c
===================================================================
--- trunk/blender/source/blender/src/editseq.c 2007-10-18 20:03:12 UTC (rev 12288)
+++ trunk/blender/source/blender/src/editseq.c 2007-10-18 20:43:39 UTC (rev 12289)
@@ -2738,7 +2738,7 @@
int j; /* loop on snap_points */
/* for markers */
- int *oldframe, totmark, a;
+ int *oldframe = NULL, totmark, a;
TimeMarker *marker;
@@ -2795,22 +2795,23 @@
for(marker= G.scene->markers.first; marker; marker= marker->next) {
if(marker->flag & SELECT) totmark++;
}
-
- oldframe= MEM_mallocN(totmark*sizeof(int), "marker array");
- for(a=0, marker= G.scene->markers.first; marker; marker= marker->next) {
- if(marker->flag & SELECT) {
- if (mode=='e') {
-
- /* when extending, invalidate markers on the other side by using an invalid frame value */
- if ((side == 'L' && marker->frame > cfra) || (side == 'R' && marker->frame < cfra)) {
- oldframe[a] = MAXFRAME+1;
+ if (totmark) {
+ oldframe= MEM_mallocN(totmark*sizeof(int), "marker array");
+ for(a=0, marker= G.scene->markers.first; marker; marker= marker->next) {
+ if(marker->flag & SELECT) {
+ if (mode=='e') {
+
+ /* when extending, invalidate markers on the other side by using an invalid frame value */
+ if ((side == 'L' && marker->frame > cfra) || (side == 'R' && marker->frame < cfra)) {
+ oldframe[a] = MAXFRAME+1;
+ } else {
+ oldframe[a]= marker->frame;
+ }
} else {
oldframe[a]= marker->frame;
}
- } else {
- oldframe[a]= marker->frame;
+ a++;
}
- a++;
}
}
}
@@ -3093,11 +3094,13 @@
/* markers */
if (sseq->flag & SEQ_MARKER_TRANS) {
- for(a=0, marker= G.scene->markers.first; marker; marker= marker->next) {
- if(marker->flag & SELECT && (oldframe[a] != MAXFRAME+1)) {
- marker->frame= oldframe[a] + ix;
+ for(a=0, marker= G.scene->markers.first; marker; marker= marker->next) {\
+ if (marker->flag & SELECT) {
+ if(oldframe[a] != MAXFRAME+1) {
+ marker->frame= oldframe[a] + ix;
+ }
+ a++;
}
- a++;
}
}
}
@@ -3194,10 +3197,12 @@
/* Markers */
if (sseq->flag & SEQ_MARKER_TRANS) {
for(a=0, marker= G.scene->markers.first; marker; marker= marker->next) {
- if(marker->flag & SELECT && (oldframe[a] != MAXFRAME+1)) {
- marker->frame= oldframe[a];
+ if (marker->flag & SELECT) {
+ if(oldframe[a] != MAXFRAME+1) {
+ marker->frame= oldframe[a];
+ }
+ a++;
}
- a++;
}
}
} else {
@@ -3231,8 +3236,8 @@
G.moving= 0;
MEM_freeN(transmain);
- if (sseq->flag & SEQ_MARKER_TRANS)
- MEM_freeN(transmain);
+ if (oldframe)
+ MEM_freeN(oldframe);
if (mode=='g')
BIF_undo_push("Transform Grab, Sequencer");
More information about the Bf-blender-cvs
mailing list