[signals2] connected signal not being called
Hi, In a program I have a function connected to to a signal that is being called periodically. At a certain point the function inexplicably stops being called. Other functions that are connected to the same signal and same group are still being called at this time. As far as I am aware disconnect() has not been called and connection.connected() returns true and connection.blocked() returns false for this function. This seems very strange to me and I'm wondering if there is something that I have overlooked. It's not the sort of thing that could be reproduced with a simple example. What would be a good way to debug this? Glenn
On Sun, Oct 25, 2015 at 8:22 PM, Glenn Ramsey
Hi,
In a program I have a function connected to to a signal that is being called periodically. At a certain point the function inexplicably stops being called. Other functions that are connected to the same signal and same group are still being called at this time. As far as I am aware disconnect() has not been called and connection.connected() returns true and connection.blocked() returns false for this function.
This seems very strange to me and I'm wondering if there is something that I have overlooked. It's not the sort of thing that could be reproduced with a simple example. What would be a good way to debug this?
Are you using a custom combiner? Combiners aren't required to call all the slots if they decide not to. Or, could an earlier slot have thrown an exception during signal invocation? -- Frank
On 27/10/15 07:16, Frank Mori Hess wrote:
On Sun, Oct 25, 2015 at 8:22 PM, Glenn Ramsey
wrote: Hi,
In a program I have a function connected to to a signal that is being called periodically. At a certain point the function inexplicably stops being called. Other functions that are connected to the same signal and same group are still being called at this time. As far as I am aware disconnect() has not been called and connection.connected() returns true and connection.blocked() returns false for this function.
This seems very strange to me and I'm wondering if there is something that I have overlooked. It's not the sort of thing that could be reproduced with a simple example. What would be a good way to debug this?
Are you using a custom combiner? Combiners aren't required to call all the slots if they decide not to. Or, could an earlier slot have thrown an exception during signal invocation?
Thanks for the suggestions. I found the problem. It was an exception in an earlier slot.
participants (2)
-
Frank Mori Hess
-
Glenn Ramsey