X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryProcessor.java;h=4917bbe257d7cf3970af4c812908d22ef219b388;hb=86468a45a765f1b9dcf07efcf3ba6f058dccbac2;hp=6d9560940be2b1c19b73616c85a2996ee2b65d25;hpb=acd711765a4a064361b3a51aa0aaeae9881fd43f;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; }