summary refs log tree commit diff
path: root/synapse/state.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2014-12-11 15:56:01 +0000
committerErik Johnston <erik@matrix.org>2014-12-11 15:56:06 +0000
commit0b0436923819a0252a7a2a6f70a1f929b45b9114 (patch)
treee4b6286969345858b37049a5d82777200023d844 /synapse/state.py
parentFix prev_content (diff)
downloadsynapse-0b0436923819a0252a7a2a6f70a1f929b45b9114.tar.xz
Fix public room joining by making sure replaces_state never points to itself.
Diffstat (limited to 'synapse/state.py')
-rw-r--r--synapse/state.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/synapse/state.py b/synapse/state.py
index 5bfa73fb46..f9ab5faf9e 100644
--- a/synapse/state.py
+++ b/synapse/state.py
@@ -159,7 +159,8 @@ class StateHandler(object):
                 key = (event.type, event.state_key)
                 if key in context.current_state:
                     replaces = context.current_state[key]
-                    event.unsigned["replaces_state"] = replaces.event_id
+                    if replaces.event_id != event.event_id:  # Paranoia check
+                        event.unsigned["replaces_state"] = replaces.event_id
 
             defer.returnValue([])