[Interest] Queued signals lost in 5.15.0 (works in 5.12.5) (Windows)

Volker Hilsheimer volker.hilsheimer at qt.io
Sat Sep 26 16:43:59 CEST 2020


> On 25 Sep 2020, at 21:26, Giuseppe D'Angelo via Interest <interest at qt-project.org> wrote:
> 
> Il 24/09/20 17:55, Rainer Wiesenfarth ha scritto:
>> - if I take the application built and running without this issue with Qt 5.12.5 and replace the DLLs with those from Qt 5.15.0, the issue appears. That means there is a change in the event handling between 5.12.5 and 5.15.0 that causes the issue to appear.
> 
> It's super hard telling what might be going wrong without a testcase.
> 
> I'd anyway start by using 5.15.1/2 (not 0) and actually recompiling the application, just to exclude subtle binary compatibility breaks.
> 
> You may also want to inspect the event posting and delivery (e.g. by overriding QCA::notify(); and/or by using ETW tracing; and/or by posting and dispatching your custom "metacall" events instead of using a queued invocation in the same thread).
> 
> HTH,
> 
> -- 
> Giuseppe D’Angelo


If none of the previous hints help, can you share more info about the event loop of the thread in which the receiving object lives?

There have been changes to the event loop implementation on Windows in Qt 5.15, such as

* 81408c0e76616b127c46779dc14bbcf084a3d87b
* e0d80167c18b5a71acf4dac59f3e6f37292fa397

to better the integration with foreign event loops, but you should updating to 5.15.1 which has e.g

fb6f62354ff8d29152db7cfa479b2689a25ae7a9 which fixes https://bugreports.qt.io/browse/QTBUG-85981

to fix one reported regression in such a scenario.

Volker



More information about the Interest mailing list