[rkward-cvs] SF.net SVN: rkward:[3461] trunk/rkward/rkward/core/rcontainerobject.cpp

tfry at users.sourceforge.net tfry at users.sourceforge.net
Thu Mar 3 11:26:03 UTC 2011


Revision: 3461
          http://rkward.svn.sourceforge.net/rkward/?rev=3461&view=rev
Author:   tfry
Date:     2011-03-03 11:26:03 +0000 (Thu, 03 Mar 2011)

Log Message:
-----------
Always update children which have been visited, previously.

Modified Paths:
--------------
    trunk/rkward/rkward/core/rcontainerobject.cpp

Modified: trunk/rkward/rkward/core/rcontainerobject.cpp
===================================================================
--- trunk/rkward/rkward/core/rcontainerobject.cpp	2011-03-02 17:58:18 UTC (rev 3460)
+++ trunk/rkward/rkward/core/rcontainerobject.cpp	2011-03-03 11:26:03 UTC (rev 3461)
@@ -138,7 +138,12 @@
 void RContainerObject::updateChildren (RData *new_children) {
 	RK_TRACE (OBJECTS);
 
-	if (type & Incomplete) return;	// If the (new!) type is "Incomplete", it means, the structure getter simply stopped at this point. Existing child info may or may not be out of date, but probably the old data we have is still more acurate than having nothing.
+	if (type & Incomplete) {
+		// If the (new!) type is "Incomplete", it means, the structure getter simply stopped at this point.
+		// In case we already have child info, we should update it (TODO: perhaps only, if anything is listening for child objects?)
+		if (!(childmap.isEmpty () || isType (Updating))) updateFromR (0);
+		return;
+	}
 
 	RK_ASSERT (new_children->getDataType () == RData::StructureVector);
 	unsigned int new_child_count = new_children->getDataLength ();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list