naspro

changeset 161:cf56ca881571 trunk

Fixed some bugs
author Stefano D'Angelo <zanga.mail@gmail.com>
date Sun Jul 19 03:50:39 2009 +0200 (2009-07-19)
parents 60edbe170fed
children cd3a8040fc02
files src/ladspa/descriptor.c src/ladspa/lrdf.c
line diff
     1.1 --- a/src/ladspa/descriptor.c	Sat Jul 18 19:45:19 2009 +0200
     1.2 +++ b/src/ladspa/descriptor.c	Sun Jul 19 03:50:39 2009 +0200
     1.3 @@ -64,6 +64,9 @@
     1.4  			desc->port_descs[i].name = (char *)ldesc->PortNames[i];
     1.5  
     1.6  		desc->port_descs[i].data = NULL;
     1.7 +		desc->port_descs[i].scale.unit = nacore_scale_unit_none;
     1.8 +		desc->port_descs[i].scale.points = NULL;
     1.9 +		desc->port_descs[i].scale.points_count = 0;
    1.10  
    1.11  		desc->port_descs[i].properties = 0;
    1.12  		if (LADSPA_IS_PORT_OUTPUT(ldesc->PortDescriptors[i]))
    1.13 @@ -154,11 +157,7 @@
    1.14  				desc->port_descs[i].scale.defaultv = 440.0;
    1.15  		  }
    1.16  
    1.17 -		desc->port_descs[i].scale.unit = nacore_scale_unit_none;
    1.18  		_naladspa_lrdf_get_scale_units(desc, desc->port_descs + i, i);
    1.19 -
    1.20 -		desc->port_descs[i].scale.points = NULL;
    1.21 -		desc->port_descs[i].scale.points_count = 0;
    1.22  		_naladspa_lrdf_get_scale_points(desc, desc->port_descs + i, i);
    1.23  	  }
    1.24  
     2.1 --- a/src/ladspa/lrdf.c	Sat Jul 18 19:45:19 2009 +0200
     2.2 +++ b/src/ladspa/lrdf.c	Sun Jul 19 03:50:39 2009 +0200
     2.3 @@ -510,8 +510,6 @@
     2.4  	size_t len, count, i;
     2.5  	char *prev_locale;
     2.6  
     2.7 -	port->scale.points_count = 0;
     2.8 -
     2.9  	if (model == NULL)
    2.10  		return;
    2.11  
    2.12 @@ -533,11 +531,16 @@
    2.13  	scale_node = librdf_statement_get_object(
    2.14  			librdf_stream_get_object(stream));
    2.15  	scale_node2 = librdf_new_node_from_node(scale_node);
    2.16 +	if (scale_node2 == NULL)
    2.17 +		goto stream_end;
    2.18  
    2.19  	stream2 = model_find_statements_with_subject_node(scale_node2,
    2.20  			LADSPA_PREFIX "hasPoint", NULL);
    2.21  	if (stream2 == NULL)
    2.22 +	  {
    2.23 +		librdf_free_node(scale_node2);
    2.24  		goto stream_end;
    2.25 +	  }
    2.26  
    2.27  	count = 0;
    2.28  	len = 0;
    2.29 @@ -574,6 +577,7 @@
    2.30  
    2.31  		librdf_stream_next(stream2);
    2.32  	  }
    2.33 +	librdf_free_stream(stream2);
    2.34  
    2.35  	if (count == 0)
    2.36  		goto stream_end;
    2.37 @@ -591,6 +595,14 @@
    2.38  	  }
    2.39  
    2.40  	scale_node2 = librdf_new_node_from_node(scale_node);
    2.41 +	if (scale_node2 == NULL)
    2.42 +	  {
    2.43 +		free(port->data);
    2.44 +		port->data = NULL;
    2.45 +		free(port->scale.points);
    2.46 +		port->scale.points = NULL;
    2.47 +		goto stream_end;
    2.48 +	  }
    2.49  
    2.50  	stream2 = model_find_statements_with_subject_node(scale_node2,
    2.51  			LADSPA_PREFIX "hasPoint", NULL);
    2.52 @@ -598,6 +610,8 @@
    2.53  	  {
    2.54  		free(port->data);
    2.55  		port->data = NULL;
    2.56 +		free(port->scale.points);
    2.57 +		port->scale.points = NULL;
    2.58  		goto stream_end;
    2.59  	  }
    2.60  
    2.61 @@ -616,6 +630,8 @@
    2.62  			librdf_free_stream(stream2);
    2.63  			free(port->data);
    2.64  			port->data = NULL;
    2.65 +			free(port->scale.points);
    2.66 +			port->scale.points = NULL;
    2.67  			goto stream_end;
    2.68  		  }
    2.69  
    2.70 @@ -625,6 +641,8 @@
    2.71  			librdf_free_stream(stream2);
    2.72  			free(port->data);
    2.73  			port->data = NULL;
    2.74 +			free(port->scale.points);
    2.75 +			port->scale.points = NULL;
    2.76  			goto stream_end;
    2.77  		  }
    2.78  
    2.79 @@ -649,6 +667,8 @@
    2.80  			librdf_free_stream(stream2);
    2.81  			free(port->data);
    2.82  			port->data = NULL;
    2.83 +			free(port->scale.points);
    2.84 +			port->scale.points = NULL;
    2.85  			goto stream_end;
    2.86  		  }
    2.87  
    2.88 @@ -658,6 +678,8 @@
    2.89  			librdf_free_stream(stream2);
    2.90  			free(port->data);
    2.91  			port->data = NULL;
    2.92 +			free(port->scale.points);
    2.93 +			port->scale.points = NULL;
    2.94  			goto stream_end;
    2.95  		  }
    2.96  
    2.97 @@ -737,6 +759,8 @@
    2.98  void
    2.99  _naladspa_lrdf_free_data(struct nacore_port_descriptor *port)
   2.100  {
   2.101 +	if (port->scale.points != NULL)
   2.102 +		free(port->scale.points);
   2.103  	if (port->data != NULL)
   2.104  		free(port->data);
   2.105  }