Corrections after valgrinding
[melted] / src / framework / mlt_properties.c
index 0bad06b..53db476 100644 (file)
@@ -47,7 +47,7 @@ property_list;
 /** Memory leak checks.
 */
 
-//#define _MLT_PROPERTY_CHECKS_
+//#define _MLT_PROPERTY_CHECKS_ 2
 
 #ifdef _MLT_PROPERTY_CHECKS_
 static int properties_created = 0;
@@ -346,7 +346,16 @@ int mlt_properties_set( mlt_properties this, char *name, char *value )
        mlt_property property = mlt_properties_fetch( this, name );
 
        // Set it if not NULL
-       if ( property != NULL && ( value == NULL || value[ 0 ] != '@' ) )
+       if ( property == NULL )
+       {
+               fprintf( stderr, "Whoops\n" );
+       }
+       else if ( value == NULL )
+       {
+               error = mlt_property_set_string( property, value );
+               mlt_properties_do_mirror( this, name );
+       }
+       else if ( *value != '@' )
        {
                error = mlt_property_set_string( property, value );
                mlt_properties_do_mirror( this, name );
@@ -698,10 +707,12 @@ void mlt_properties_close( mlt_properties this )
                        property_list *list = this->local;
                        int index = 0;
 
-#ifdef _MLT_PROPERTY_CHECKS_
+#if _MLT_PROPERTY_CHECKS_ == 1
                        // Show debug info
                        mlt_properties_debug( this, "Closing", stderr );
+#endif
 
+#ifdef _MLT_PROPERTY_CHECKS_
                        // Increment destroyed count
                        properties_destroyed ++;