X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryListening.java;fp=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryListening.java;h=5a7ab819dad27332af584912ef47ba54a7e25a16;hb=ad52c4f20eb1364a48294120a5acd1ecf08e43f7;hp=075281035a7802842a2b6ab285700b2a22f29d6b;hpb=6a531d450a993e5fce9383670708ebc370208a76;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryListening.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryListening.java index 075281035..5a7ab819d 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryListening.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryListening.java @@ -413,6 +413,16 @@ public class QueryListening { public void fireListeners(ReadGraphImpl graph) { + ReadGraphImpl listenerGraph = graph.forSyncExecute(); + listenerGraph.asyncBarrier.inc(); + fireListeners_(listenerGraph); + listenerGraph.asyncBarrier.dec(); + listenerGraph.asyncBarrier.waitBarrier(this, listenerGraph); + + } + + private void fireListeners_(ReadGraphImpl graph) { + assert (!processor.updating); assert (!processor.cache.collecting); assert (!firingListeners);