summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/matcher/vm.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/server/src/matcher/vm.lua b/server/src/matcher/vm.lua
index c2fd0e73..b73aa100 100644
--- a/server/src/matcher/vm.lua
+++ b/server/src/matcher/vm.lua
@@ -196,9 +196,14 @@ function mt:mergeValue(a, b, mark)
if mark[a] or mark[b] then
return
end
+ if a.uri ~= self.uri then
+ return
+ end
mark[a] = true
mark[b] = true
- self:mergeChild(a, b, mark)
+ if b.uri == self.uri then
+ self:mergeChild(a, b, mark)
+ end
for k in pairs(a) do
a[k] = nil
end