fix axes.y_ticks.location 43/15543/8
Sylvain GENIN [Tue, 18 Nov 2014 12:56:03 +0000 (13:56 +0100)]
a=gca();
axes.y_ticks.locations

test_run("cacsd","bode",["no_check_error_output" ]);
test_run("graphics","gda",["no_check_error_output" ]);
test_run("graphics","ticks_format",["no_check_error_output" ]);
test_run("graphics","plot3d_demo",["no_check_error_output" ]);
test_run("graphics","barhomogenize",["no_check_error_output" ]);

Change-Id: I3fa8db65ef3974c5fe78cb2de70c1e6e6180385b

scilab/modules/ast/src/cpp/ast/runvisitor.cpp

index 4e20b6b..604ac26 100644 (file)
@@ -170,7 +170,21 @@ void RunVisitorT<T>::visitprivate(const FieldExp &e)
         }
 
         setResult(pReturn);
-        pValue->killMe();
+        if (pValue->isDeletable())
+        {
+            if (pValue->isContainer())
+            {
+                // prevent delete of pReturn in case where
+                // extract not return a clone
+                pReturn->IncreaseRef();
+                pValue->killMe();
+                pReturn->DecreaseRef();
+            }
+            else
+            {
+                pValue->killMe();
+            }
+        }
     }
     else if (pValue->isFieldExtractionOverloadable())
     {