[Bf-blender-cvs] [2de34ba] master: Fix T45109: multi-view regression /w screen-cast
Campbell Barton
noreply at git.blender.org
Sat Jun 20 06:58:40 CEST 2015
Commit: 2de34ba31dec8f2f31cf817477087c30ddcbd1b0
Author: Campbell Barton
Date: Sat Jun 20 14:53:05 2015 +1000
Branches: master
https://developer.blender.org/rB2de34ba31dec8f2f31cf817477087c30ddcbd1b0
Fix T45109: multi-view regression /w screen-cast
===================================================================
M source/blender/editors/screen/screendump.c
===================================================================
diff --git a/source/blender/editors/screen/screendump.c b/source/blender/editors/screen/screendump.c
index 4644f0a..3f66d84 100644
--- a/source/blender/editors/screen/screendump.c
+++ b/source/blender/editors/screen/screendump.c
@@ -303,6 +303,8 @@ typedef struct ScreenshotJob {
const short *stop;
const short *do_update;
ReportList reports;
+
+ bMovieHandle *movie_handle;
void *movie_ctx;
} ScreenshotJob;
@@ -314,8 +316,11 @@ static void screenshot_freejob(void *sjv)
if (sj->dumprect)
MEM_freeN(sj->dumprect);
- if (sj->movie_ctx)
- MEM_freeN(sj->movie_ctx);
+ if (sj->movie_handle) {
+ bMovieHandle *mh = sj->movie_handle;
+ mh->end_movie(sj->movie_ctx);
+ mh->context_free(sj->movie_ctx);
+ }
MEM_freeN(sj);
}
@@ -350,6 +355,7 @@ static void screenshot_startjob(void *sjv, short *stop, short *do_update, float
if (BKE_imtype_is_movie(rd.im_format.imtype)) {
mh = BKE_movie_handle_get(sj->scene->r.im_format.imtype);
sj->movie_ctx = mh->context_create();
+ sj->movie_handle = mh;
if (!mh->start_movie(sj->movie_ctx, sj->scene, &rd, sj->dumpsx, sj->dumpsy, &sj->reports, false, "")) {
printf("screencast job stopped\n");
@@ -418,6 +424,7 @@ static void screenshot_startjob(void *sjv, short *stop, short *do_update, float
if (mh) {
mh->end_movie(sj->movie_ctx);
mh->context_free(sj->movie_ctx);
+ sj->movie_handle = NULL;
}
BKE_report(&sj->reports, RPT_INFO, "Screencast job stopped");
More information about the Bf-blender-cvs
mailing list