[Bf-committers] Bug Fix Sequencer Transform effect

Kent Mein mein at cs.umn.edu
Sat Sep 15 16:31:56 CEST 2007


In reply to David Mill?n (david at artresnet.com):

> Hi, I found and solve a bug on Transform sequencer effect, that affect
> when you add scene and show frame and then add a transform effect, it
> have segfault, the patch is attached to solve this bug.
> 
> 
> Regards, Damiles.
> 

This fix just moves the problem to another case I'm guessing.
What should be done is find the cases where testing the input
buffer isn't sufficent and come up with a fix for those cases.

The reason for testing the input, is not everything has been
recoded to use floating buffers so we have to test the input image
to see if it has the floating point buffers or not.

Mabye we need to rethink things and on loading an imbuf if not
rect_float data convert it to rect_float and just do everything with
floats.

I'm explaining this because I probably wont have time to look at it
this weekend.  I'll try looking at it next week though.

Kent


> Index: source/blender/imbuf/intern/imageprocess.c
> ===================================================================
> --- source/blender/imbuf/intern/imageprocess.c	(revisi??n: 12040)
> +++ source/blender/imbuf/intern/imageprocess.c	(copia de trabajo)
> @@ -105,8 +105,8 @@
>  	if (in == NULL) return;
>  	if (in->rect == NULL && in->rect_float == NULL) return;
>  
> -	do_rect= (in->rect != NULL);
> -	do_float= (in->rect_float != NULL);
> +	do_rect= (out->rect != NULL);
> +	do_float= (out->rect_float != NULL);
>  
>  	i= (int)floor(x);
>  	j= (int)floor(y);
> @@ -170,8 +170,8 @@
>  	if (in==NULL) return;
>  	if (in->rect==NULL && in->rect_float==NULL) return;
>  
> -	do_rect= (in->rect != NULL);
> -	do_float= (in->rect_float != NULL);
> +	do_rect= (out->rect != NULL);
> +	do_float= (out->rect_float != NULL);
>  
>  	x1= (int)floor(u);
>  	x2= (int)ceil(u);
> @@ -246,8 +246,8 @@
>  	if (in==NULL) return;
>  	if (in->rect==NULL && in->rect_float==NULL) return;
>  
> -	do_rect= (in->rect != NULL);
> -	do_float= (in->rect_float != NULL);
> +	do_rect= (out->rect != NULL);
> +	do_float= (out->rect_float != NULL);
>  
>  	x1= (int)(u);
>  	y1= (int)(v);
> 

> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


-- 
mein at cs.umn.edu
http://www.cs.umn.edu/~mein


More information about the Bf-committers mailing list