If the interface has a method with a specified return value, the generated adapter will contain a code like: bool out; QMetaObject::invokeMethod(parent(), "Func", Q_RETURN_ARG(bool, out)); return out; In this case Q_RETURN_ARG macro makes sure that the variable `out` is properly initialized before being returned from a function, but only if invokeMethod() call is executed successfully. Update the generator to zero-initialize (or value-initialize) the return variable, so that it returns some reasonable value even if invokeMethod() fails. Extend the unit-tests to make sure that the generated adapters always initialize the return variables. Coverity-Id: 479703 Pick-to: 6.8 6.5 Change-Id: I4d15ccc6844b5ca454ab9f0cf72fd8e3f0c1b704 Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> (cherry picked from commit 92c2ebdbcca9cfae6e4048004b3bdb58af972209) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This directory contains autotests and benchmarks based on Qt Test. In order to run the autotests reliably, you need to configure a desktop to match the test environment that these tests are written for. Linux X11: * The user must be logged in to an active desktop; you can't run the autotests without a valid DISPLAY that allows X11 connections. * The tests are run against a KDE3 or KDE4 desktop. * Window manager uses "click to focus", and not "focus follows mouse". Many tests move the mouse cursor around and expect this to not affect focus and activation. * Disable "click to activate", i.e., when a window is opened, the window manager should automatically activate it (give it input focus) and not wait for the user to click the window.