Solved QWinOverlappedIoNotifier replace in 5.10
-
I have some code that used QWinOverlappedIoNotifier and handled its notice signal. QWinOverlappedIoNotifieris is a private class that has been removed, but I cannot find any documentation on this.
So the code needs to be updated. Is there any documentation on how to replace QWinOverlappedIoNotifier in 5.10?
-
Hi,
No there's not. As you wrote, it's a private class which means it could disappear at any time as any part in the private section of Qt.
Your best course of action is to look at the repository history where it was removed and see by what it was replaced.
-
QWinOverlappedIoNotifier was replaced by ReadFileEx/WriteFileEx functions. So, just take a copy of this class in your project. E.g. same has been made in QSerialPort. Or, try to use an alertable I/O functions, like ReadFileEx/WriteFileEx instead. Or to use QWinEventNotifier with overlapped.hEvent (but it is not a good option, IMHO).
-
Hi, thanks for your help.
I have just started work on an open source repository that has stopped compiling because of this issue.
If I can get hold of qwinoverlappedionotifier_p.h and qwinoverlappedionotifier_p.cpp and add them to the project, then it should at least compile and hopefully work as well as it ever did.
I can find qwinoverlappedionotifier_p.h in C:\Qt\5.10.0\mingw53_32\include\QtSerialPort\5.10.0\QtSerialPort\private , where do I find the qwinoverlappedionotifier_p.cpp to match?
Ok found them in C:\Qt\5.9.4\Src\qtbase\src\corelib\io after resintalling Qt5,9,4,
-
You have to download Qt's sources to get that file.
-
Found files at https://github.com/qt/qtserialport/tree/5.10/src/serialport