qt6-bb10/tests/auto/corelib
Thiago Macieira 7e93870401 QProcess/Unix: introduce setChildProcessModifier()
[ChangeLog][Source-Incompatible Changes] QProcess::setupChildProcess()
was removed. To execute code in a child process, use
QProcess::setChildProcessModifier()

[ChangeLog][QtCore][QProcess] Added setChildProcessModifier() function
with which one can provide code to be run in the Unix child process
between fork() and execve(). With this function, it is no longer
necessary to derive from QProcess in order to execute actions in the
child process.

Another reason is that we can tell whether the std::function carries a
valid target much more easily than we can tell whether QProcess was
overridden.

The setupChildProcess() virtual function does not need to be marked
final, since no overrider could ever return an inaccessible private
class. This also makes sure the error presented to the user is about the
return type, not about attempting to override a final.

Clang:
 error: virtual function 'f' has a different return type ('void') than the function it overrides (which has return type 'QProcess::Use_setChildProcessModifier_Instead')

GCC:
 error: conflicting return type specified for 'virtual void MyProcess::setupChildProcess()'
 note: overridden function is 'virtual QProcess::Use_setChildProcessModifier_Instead QProcess::setupChildProcess()'

ICC:
 error: return type is neither identical to nor covariant with return type "QProcess::Use_setChildProcessModifier_Instead" of overridden virtual function "QProcess::setupChildProcess"

MSVC is not relevant since it doesn't compile to Unix.

Change-Id: Ia8b65350cd5d49debca9fffd15f801161363aea7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-09-08 21:00:29 -07:00
..
animation Remove timeStep parameter from QAnimationDrive::advanceAnimation 2020-09-03 18:43:22 +02:00
global Round float->qfloat16 to even 2020-09-06 12:35:12 +02:00
io QProcess/Unix: introduce setChildProcessModifier() 2020-09-08 21:00:29 -07:00
itemmodels Long live QAIM::multiData! 2020-09-02 22:51:42 +02:00
kernel Deliver Quit event when calling QCoreApplication::quit() 2020-09-07 14:41:16 +02:00
mimetypes Fix warnings about unused expression results in tests 2020-07-29 14:33:29 +02:00
plugin Make QUUid constructors from string like types explicit 2020-08-27 18:58:21 +02:00
serialization Change QByteArray to handle large arrays 2020-08-27 18:58:20 +02:00
text Clean up QTextBoundaryFinder and qunicodetools 2020-09-07 09:09:55 +02:00
thread Get rid of hasPendingEvents() and flush() 2020-09-06 00:17:12 +02:00
time Fix failures in tst_qdatetime under non-english locales 2020-09-09 06:00:28 +02:00
tools QProcess/Unix: introduce setChildProcessModifier() 2020-09-08 21:00:29 -07:00
.prev_CMakeLists.txt Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
CMakeLists.txt Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
corelib.pro Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00