Comment 2 for bug 1417456

Revision history for this message
Michael Vogt (mvo) wrote :

I debugged this a bit and it turns out the problem is as follows:
- in signal.go Connection.WatchSignal() there is a callback that reacts on name owner changes
- when the owner changes rule.senderNameOwner is updated
- *however* the rule that is actually used is a copy because the signalWatch struct takes a copy and not a pointer
- so the update to the owner has no effect (in the place where it matters)

The attached patch fixes this by passing the pointer to signalWatch. I'm new to the code-base so I have no idea if that might cause issues with consumers of the library. The tests pass fine (once they are updated).