osd: Fix a crash when quitting from QML signal handler
kscreen_osd_service[9979]: Object 0x55a9840ff5c0 destroyed while one of its QML signal handlers is in progress. Most likely the object was deleted synchronously (use QObject::deleteLater() instead), or the application is running a nested event loop. This behavior is NOT supported! qrc:/qml/OsdSelector.qml:102: function() { [native code] } Call to quit() should be posted to an event loop to avoid destroying Osd objects with their engines while a key press signal handler is still running. Additional clean up must be performed to ensure that a map does not contain dangling references, ans thus double call to hideOsd() won't cause another crash either. Also, don't bother hiding individual OSD instances if we are about to quit anyway. That's what other code path with timer is [not] doing already. CCBUG: 459368
parent
8fd394af
Loading
Loading
Pipeline
#247164
passed
with stage
in
1 minute and 16 seconds
Loading