[Interest] QWindowSystemInterface::flushWindowSystemEvents() causes signals to be handled in the wrong order?

R. Reucher rene.reucher at batcom-it.net
Wed Aug 7 10:37:41 CEST 2013


On Wednesday 07 August 2013 10:19:34 Michel Rosien wrote:
> In my application a QWidget can be created/destroyed using a toggle button.
> If the button is pressed rapidly, so many 'on' - 'off' - 'on' - 'off'
> signals are being send, it can occur that an 'on' signal is handled while
> an 'off' handler is still in progress (because the 'off' handler deletes
> the widget)
> 
> Am I forced to use deleteLater instead of delete for a QWidget in this
> case? I would like to prevent this.
> 
> Any thoughts?
It sounds as if there can only be one instance of this QWidget at a time... so 
why not keep a pointer to it, initialized to NULL / set to NULL after 
deletion, so your on/off handlers could check that before acting (delete only 
if *not* NULL / create only *if* NULL).

HTH, René



More information about the Interest mailing list