[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16980] trunk/blender/source/blender: Bugfix #17784
Ton Roosendaal
ton at blender.org
Wed Oct 8 20:35:42 CEST 2008
Revision: 16980
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16980
Author: ton
Date: 2008-10-08 20:35:41 +0200 (Wed, 08 Oct 2008)
Log Message:
-----------
Bugfix #17784
Playanim now works for:
- tiff, cineon, dpx, hdr, exr
Only multilayer not, that's too much for a bugfix. Multilayer is a totally
different image format, handled separately.
ALso removed redundant printing for dpx/cineon.
And fixed crash in cineon when G.scene doesnt exist. Bad bad, should
not be there!
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/multires.c
trunk/blender/source/blender/imbuf/intern/cineon/cineon_dpx.c
trunk/blender/source/blender/imbuf/intern/cineon/cineonlib.c
trunk/blender/source/blender/imbuf/intern/cineon/dpxlib.c
trunk/blender/source/blender/src/playanim.c
Modified: trunk/blender/source/blender/blenkernel/intern/multires.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/multires.c 2008-10-08 18:15:19 UTC (rev 16979)
+++ trunk/blender/source/blender/blenkernel/intern/multires.c 2008-10-08 18:35:41 UTC (rev 16980)
@@ -642,6 +642,10 @@
MultiApplyData data;
int i, j;
+ /* XXX added this to prevent crash, but if it works? (ton) */
+ if(me->mr->verts==NULL)
+ return;
+
/* Prepare deltas */
pr_deltas= MEM_callocN(sizeof(vec3f)*last_lvl->totvert, "multires deltas 1");
cr_deltas= MEM_callocN(sizeof(vec3f)*last_lvl->totvert, "multires deltas 2");
Modified: trunk/blender/source/blender/imbuf/intern/cineon/cineon_dpx.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/cineon/cineon_dpx.c 2008-10-08 18:15:19 UTC (rev 16979)
+++ trunk/blender/source/blender/imbuf/intern/cineon/cineon_dpx.c 2008-10-08 18:35:41 UTC (rev 16980)
@@ -48,10 +48,10 @@
static void cineon_conversion_parameters(LogImageByteConversionParameters *params)
{
- params->blackPoint = G.scene->r.cineonblack;
- params->whitePoint = G.scene->r.cineonwhite;
- params->gamma = G.scene->r.cineongamma;
- params->doLogarithm = G.scene->r.subimtype & R_CINEON_LOG;
+ params->blackPoint = G.scene?G.scene->r.cineonblack:95;
+ params->whitePoint = G.scene?G.scene->r.cineonwhite:685;
+ params->gamma = G.scene?G.scene->r.cineongamma:1.7f;
+ params->doLogarithm = G.scene?G.scene->r.subimtype & R_CINEON_LOG:0;
}
static struct ImBuf *imb_load_dpx_cineon(unsigned char *mem, int use_cineon, int size, int flags)
Modified: trunk/blender/source/blender/imbuf/intern/cineon/cineonlib.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/cineon/cineonlib.c 2008-10-08 18:15:19 UTC (rev 16979)
+++ trunk/blender/source/blender/imbuf/intern/cineon/cineonlib.c 2008-10-08 18:35:41 UTC (rev 16980)
@@ -617,7 +617,7 @@
cineon->file = 0;
cineon->reading = 1;
- verbose = 1;
+ verbose = 0;
if (size < sizeof(CineonGenericHeader)) {
if (verbose) d_printf("Not enough data for header!\n");
cineonClose(cineon);
Modified: trunk/blender/source/blender/imbuf/intern/cineon/dpxlib.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/cineon/dpxlib.c 2008-10-08 18:15:19 UTC (rev 16979)
+++ trunk/blender/source/blender/imbuf/intern/cineon/dpxlib.c 2008-10-08 18:35:41 UTC (rev 16980)
@@ -199,7 +199,7 @@
#endif
}
-static int verbose = 1;
+static int verbose = 0;
void
dpxSetVerbose(int verbosity) {
verbose = verbosity;
Modified: trunk/blender/source/blender/src/playanim.c
===================================================================
--- trunk/blender/source/blender/src/playanim.c 2008-10-08 18:15:19 UTC (rev 16979)
+++ trunk/blender/source/blender/src/playanim.c 2008-10-08 18:35:41 UTC (rev 16980)
@@ -191,6 +191,12 @@
printf("no ibuf !\n");
return;
}
+ if (ibuf->rect==NULL && ibuf->rect_float) {
+ IMB_rect_from_float(ibuf);
+ imb_freerectfloatImBuf(ibuf);
+ }
+ if (ibuf->rect==NULL)
+ break;
glRasterPos2f(0.0f, 0.0f);
More information about the Bf-blender-cvs
mailing list