Xcos MVC: fix after 4b9d000e 94/18494/4
Paul Bignier [Fri, 19 Aug 2016 09:19:06 +0000 (11:19 +0200)]
 * Increase the model object ref not to delete it when the adapter is freed.

Change-Id: I37c9c9ea828ae3f4cda52e8183a1b25351d322e6

scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp
scilab/modules/scicos/tests/unit_tests/model/Clone_SuperBlock_in_Diagram.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Deep_cloning.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Insert_in_SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock_in_SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/link_preservation.dia.ref

index 671c655..dedd591 100644 (file)
@@ -991,7 +991,8 @@ struct rpar
             for (int i = 0; i < static_cast<int>(clonedLinks.size()); ++i)
             {
                 auto o = controller.getObject(clonedLinks[i]);
-                LinkAdapter newLink (controller, static_cast<model::Link*>(o));
+                controller.referenceObject(o);
+                LinkAdapter newLink(controller, static_cast<model::Link*>(o));
                 newLink.setFromInModel(diagram->getFrom()[i], controller);
                 newLink.setToInModel(diagram->getTo()[i], controller);
             }
index e46b26f..10b8f7a 100644 (file)
@@ -984,18 +984,24 @@ Xcos trace: propertyUpdated( 39 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 39 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 39 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 26 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 33 , LINK ) : 1
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 33 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 35 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 33 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 33 , LINK ) : 0
+Xcos debug: objectReferenced( 38 , LINK ) : 1
 Xcos trace: propertyUpdated( 36 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 38 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 29 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 38 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 38 , LINK ) : 0
+Xcos debug: objectReferenced( 39 , LINK ) : 1
 Xcos trace: propertyUpdated( 37 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 39 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 31 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 39 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 39 , LINK ) : 0
 Xcos trace: propertyUpdated( 26 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 26 , BLOCK , IPAR ) : NO_CHANGES
@@ -1323,18 +1329,24 @@ Xcos trace: propertyUpdated( 55 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 55 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 55 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 41 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 49 , LINK ) : 1
 Xcos trace: propertyUpdated( 48 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 51 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 49 , LINK ) : 0
+Xcos debug: objectReferenced( 54 , LINK ) : 1
 Xcos trace: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 45 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 54 , LINK ) : 0
+Xcos debug: objectReferenced( 55 , LINK ) : 1
 Xcos trace: propertyUpdated( 53 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 55 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 55 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 55 , LINK ) : 0
 Xcos trace: propertyUpdated( 41 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 41 , BLOCK , IPAR ) : NO_CHANGES
index 53a8c54..a8b950e 100644 (file)
@@ -234,10 +234,12 @@ Xcos trace: propertyUpdated( 12 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 12 , LINK ) : 1
 Xcos trace: propertyUpdated( 11 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 12 , LINK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES
@@ -371,10 +373,12 @@ Xcos trace: propertyUpdated( 19 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 19 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 19 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 19 , LINK ) : 1
 Xcos trace: propertyUpdated( 18 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 19 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 17 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 19 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 19 , LINK ) : 0
 Xcos trace: propertyUpdated( 14 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , BLOCK , OPAR ) : NO_CHANGES
@@ -1322,10 +1326,12 @@ Xcos trace: propertyUpdated( 57 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 57 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 29 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 57 , LINK ) : 1
 Xcos trace: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 57 , LINK ) : 0
 Xcos trace: propertyUpdated( 29 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , OPAR ) : NO_CHANGES
@@ -1532,10 +1538,12 @@ Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 69 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 59 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 69 , LINK ) : 1
 Xcos trace: propertyUpdated( 64 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 69 , LINK ) : 0
 Xcos trace: propertyUpdated( 59 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , OPAR ) : NO_CHANGES
index 32e5fae..533b59e 100644 (file)
@@ -611,8 +611,10 @@ Xcos trace: propertyUpdated( 24 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 24 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 24 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 24 , LINK ) : 1
 Xcos trace: propertyUpdated( 24 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 24 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 24 , LINK ) : 0
 Xcos trace: propertyUpdated( 12 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , PORT_REFERENCE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , BLOCK , PORT_REFERENCE ) : NO_CHANGES
index a7a4ad7..68181b0 100644 (file)
@@ -1903,18 +1903,24 @@ Xcos trace: propertyUpdated( 66 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 66 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 66 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 53 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 60 , LINK ) : 1
 Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 60 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 60 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 60 , LINK ) : 0
+Xcos debug: objectReferenced( 65 , LINK ) : 1
 Xcos trace: propertyUpdated( 63 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 65 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 56 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 65 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 65 , LINK ) : 0
+Xcos debug: objectReferenced( 66 , LINK ) : 1
 Xcos trace: propertyUpdated( 64 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 66 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 66 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: objectUnreferenced( 66 , LINK ) : 0
 Xcos trace: propertyUpdated( 53 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 38 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 53 , BLOCK , IPAR ) : NO_CHANGES
index 41d99ec..bb9b126 100644 (file)
@@ -75,6 +75,8 @@ Xcos trace: propertyUpdated( 5 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 5 , LINK ) : 1
+Xcos debug: objectUnreferenced( 5 , LINK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , OPAR ) : NO_CHANGES
@@ -155,6 +157,8 @@ Xcos trace: propertyUpdated( 9 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 9 , LINK ) : 1
+Xcos debug: objectUnreferenced( 9 , LINK ) : 0
 Xcos trace: propertyUpdated( 7 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , BLOCK , OPAR ) : NO_CHANGES
index fc275ff..9734bbc 100644 (file)
@@ -79,6 +79,8 @@ Xcos trace: propertyUpdated( 4 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
+Xcos debug: objectReferenced( 4 , LINK ) : 1
+Xcos debug: objectUnreferenced( 4 , LINK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , CONTEXT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES