Ivan Solovev 92c2ebdbcc qdbusxml2cpp: initialize the return value for adapters
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.9 6.8 6.5
Change-Id: I4d15ccc6844b5ca454ab9f0cf72fd8e3f0c1b704
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
2025-04-10 13:49:46 +02:00
..