X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryProcessor.java;fp=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryProcessor.java;h=4917bbe257d7cf3970af4c812908d22ef219b388;hb=ad52c4f20eb1364a48294120a5acd1ecf08e43f7;hp=6d9560940be2b1c19b73616c85a2996ee2b65d25;hpb=6a531d450a993e5fce9383670708ebc370208a76;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryProcessor.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryProcessor.java index 6d9560940..4917bbe25 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryProcessor.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryProcessor.java @@ -1430,6 +1430,17 @@ final public class QueryProcessor extends AbstractDisposable implements ReadGrap public void propagateChangesInQueryCache(final ReadGraphImpl graph) { + ReadGraphImpl syncGraph = graph.forSyncExecute(); + syncGraph.asyncBarrier.inc(); + propagateChangesInQueryCache_(syncGraph); + syncGraph.asyncBarrier.dec(); + syncGraph.asyncBarrier.waitBarrier(this, syncGraph); + + } + + + public void propagateChangesInQueryCache_(final ReadGraphImpl graph) { + // Make sure that listening has performed its work listening.sync(); @@ -1657,7 +1668,8 @@ final public class QueryProcessor extends AbstractDisposable implements ReadGrap public void invalidateResource(final int resource) { if(lastInvalidate == resource) return; - scheduledValueUpdates.add(resource); + //scheduledValueUpdates.add(resource); + scheduledInvalidates.add(resource); lastInvalidate = resource; cache.dirty = true; }