Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt6-serialport for openSUSE:Factory 
checked in at 2022-04-20 16:56:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-serialport (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-serialport.new.1941 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-serialport"

Wed Apr 20 16:56:00 2022 rev:6 rq:970807 version:6.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-serialport/qt6-serialport.changes    
2022-03-29 18:15:04.731111679 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-serialport.new.1941/qt6-serialport.changes  
2022-04-20 16:56:19.002566256 +0200
@@ -1,0 +2,11 @@
+Fri Apr  8 11:57:00 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 6.3.0:
+  * https://www.qt.io/blog/qt-6.3-released
+
+-------------------------------------------------------------------
+Tue Mar 29 12:28:40 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 6.3.0-rc
+
+-------------------------------------------------------------------

Old:
----
  qtserialport-everywhere-src-6.2.4.tar.xz

New:
----
  qtserialport-everywhere-src-6.3.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-serialport.spec ++++++
--- /var/tmp/diff_new_pack.ibE2i0/_old  2022-04-20 16:56:19.654566865 +0200
+++ /var/tmp/diff_new_pack.ibE2i0/_new  2022-04-20 16:56:19.662566873 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package qt6-serialport
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,8 @@
 #
 
 
-%define real_version 6.2.4
-%define short_version 6.2
+%define real_version 6.3.0
+%define short_version 6.3
 %define tar_name qtserialport-everywhere-src
 %define tar_suffix %{nil}
 #
@@ -27,7 +27,7 @@
 %endif
 #
 Name:           qt6-serialport%{?pkg_suffix}
-Version:        6.2.4
+Version:        6.3.0
 Release:        0
 Summary:        Qt 6 SerialPort library
 License:        LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)

++++++ qtserialport-everywhere-src-6.2.4.tar.xz -> 
qtserialport-everywhere-src-6.3.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/.QT-ENTERPRISE-LICENSE-AGREEMENT 
new/qtserialport-everywhere-src-6.3.0/.QT-ENTERPRISE-LICENSE-AGREEMENT
--- old/qtserialport-everywhere-src-6.2.4/.QT-ENTERPRISE-LICENSE-AGREEMENT      
2022-03-10 11:21:31.744042600 +0100
+++ new/qtserialport-everywhere-src-6.3.0/.QT-ENTERPRISE-LICENSE-AGREEMENT      
2022-04-06 19:56:41.389723300 +0200
@@ -1,5 +1,5 @@
 QT LICENSE AGREEMENT
-Agreement version 4.4
+Agreement version 4.4.1
 
 This Qt License Agreement ("Agreement") is a legal agreement for the licensing
 of Licensed Software (as defined below) between The Qt Company (as defined
@@ -233,7 +233,7 @@
         United States or a legal entity incorporated outside of the United
         States or having its registered office outside of the United States,
         The Qt Company Ltd., a Finnish company with its registered office at
-        Bertel Jungin aukio D3A, 02600 Espoo, Finland.
+        Miestentie 7, 02150 Espoo, Finland.
 
 "Third-Party Software" shall have the meaning set forth in Section 4.
 
@@ -1054,8 +1054,8 @@
 - Appendix 1: Licensed Software details
 - Appendix 2: Pricing
 - Appendix 3: Add-on Software details (optional)
-- Appendix 4: Non-commercial and educational Licenses (optional)
-- Appendix 5: Small business and startup Licenses (optional)
+- Appendix 4: Small business and startup Licenses (optional)
+- Appendix 5: Non-commercial and educational Licenses (optional)
 - Appendix 6: License Reporting (optional)
 - Appendix 7: Marketing Rights (optional)
 - Appendix 8: Intentionally left blank (optional)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.2.4/.cmake.conf 
new/qtserialport-everywhere-src-6.3.0/.cmake.conf
--- old/qtserialport-everywhere-src-6.2.4/.cmake.conf   2022-03-04 
05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/.cmake.conf   2022-04-05 
16:01:25.000000000 +0200
@@ -1,2 +1,2 @@
-set(QT_REPO_MODULE_VERSION "6.2.4")
-set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "")
+set(QT_REPO_MODULE_VERSION "6.3.0")
+set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.2.4/.qmake.conf 
new/qtserialport-everywhere-src-6.3.0/.qmake.conf
--- old/qtserialport-everywhere-src-6.2.4/.qmake.conf   2022-03-04 
05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/.qmake.conf   1970-01-01 
01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-load(qt_build_config)
-
-DEFINES += QT_NO_FOREACH QT_NO_JAVA_STYLE_ITERATORS
-
-MODULE_VERSION = 6.2.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.2.4/.tag 
new/qtserialport-everywhere-src-6.3.0/.tag
--- old/qtserialport-everywhere-src-6.2.4/.tag  2022-03-04 05:15:43.000000000 
+0100
+++ new/qtserialport-everywhere-src-6.3.0/.tag  2022-04-05 16:01:25.000000000 
+0200
@@ -1 +1 @@
-f41e290b17e68764da0bf88ded99f2180d79b83b
+da602a3e43d7c5dae6c62e597284de9eba0f430e
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtserialport-everywhere-src-6.2.4/dependencies.yaml 
new/qtserialport-everywhere-src-6.3.0/dependencies.yaml
--- old/qtserialport-everywhere-src-6.2.4/dependencies.yaml     2022-03-04 
05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/dependencies.yaml     2022-04-05 
16:01:25.000000000 +0200
@@ -1,4 +1,4 @@
 dependencies:
   ../qtbase:
-    ref: d3b5353380797f3b67599ccebc5dc916057681e5
+    ref: 9554d315aa74eaba1726405ee09117e2ebc6111f
     required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/blockingreceiver/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/blockingreceiver/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/blockingreceiver/CMakeLists.txt
   2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/blockingreceiver/CMakeLists.txt
   2022-04-05 16:01:25.000000000 +0200
@@ -1,32 +1,27 @@
 cmake_minimum_required(VERSION 3.16)
 project(blockingreceiver LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingreceiver")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core Gui SerialPort Widgets)
 
 qt_add_executable(blockingreceiver
     dialog.cpp dialog.h
     main.cpp
     receiverthread.cpp receiverthread.h
 )
+
 set_target_properties(blockingreceiver PROPERTIES
     WIN32_EXECUTABLE TRUE
     MACOSX_BUNDLE TRUE
 )
+
 target_link_libraries(blockingreceiver PRIVATE
     Qt::Core
     Qt::Gui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/blockingsender/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/blockingsender/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/blockingsender/CMakeLists.txt
     2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/blockingsender/CMakeLists.txt
     2022-04-05 16:01:25.000000000 +0200
@@ -1,32 +1,27 @@
 cmake_minimum_required(VERSION 3.16)
 project(blockingsender LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingsender")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core Gui SerialPort Widgets)
 
 qt_add_executable(blockingsender
     dialog.cpp dialog.h
     main.cpp
     senderthread.cpp senderthread.h
 )
+
 set_target_properties(blockingsender PROPERTIES
     WIN32_EXECUTABLE TRUE
     MACOSX_BUNDLE TRUE
 )
+
 target_link_libraries(blockingsender PRIVATE
     Qt::Core
     Qt::Gui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/cenumerator/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/cenumerator/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/cenumerator/CMakeLists.txt
        2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/cenumerator/CMakeLists.txt
        2022-04-05 16:01:25.000000000 +0200
@@ -1,28 +1,25 @@
 cmake_minimum_required(VERSION 3.16)
 project(cenumerator LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/cenumerator")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core SerialPort)
 
 qt_add_executable(cenumerator
     main.cpp
 )
+
 set_target_properties(cenumerator PROPERTIES
     WIN32_EXECUTABLE FALSE
     MACOSX_BUNDLE FALSE
 )
+
 target_link_libraries(cenumerator PRIVATE
     Qt::Core
     Qt::SerialPort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/creaderasync/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/creaderasync/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/creaderasync/CMakeLists.txt
       2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/creaderasync/CMakeLists.txt
       2022-04-05 16:01:25.000000000 +0200
@@ -1,29 +1,26 @@
 cmake_minimum_required(VERSION 3.16)
 project(creaderasync LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/creaderasync")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core SerialPort)
 
 qt_add_executable(creaderasync
     main.cpp
     serialportreader.cpp serialportreader.h
 )
+
 set_target_properties(creaderasync PROPERTIES
     WIN32_EXECUTABLE FALSE
     MACOSX_BUNDLE FALSE
 )
+
 target_link_libraries(creaderasync PRIVATE
     Qt::Core
     Qt::SerialPort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/creadersync/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/creadersync/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/creadersync/CMakeLists.txt
        2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/creadersync/CMakeLists.txt
        2022-04-05 16:01:25.000000000 +0200
@@ -1,28 +1,25 @@
 cmake_minimum_required(VERSION 3.16)
 project(creadersync LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/creadersync")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core SerialPort)
 
 qt_add_executable(creadersync
     main.cpp
 )
+
 set_target_properties(creadersync PROPERTIES
     WIN32_EXECUTABLE FALSE
     MACOSX_BUNDLE FALSE
 )
+
 target_link_libraries(creadersync PRIVATE
     Qt::Core
     Qt::SerialPort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/cwriterasync/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/cwriterasync/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/cwriterasync/CMakeLists.txt
       2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/cwriterasync/CMakeLists.txt
       2022-04-05 16:01:25.000000000 +0200
@@ -1,29 +1,26 @@
 cmake_minimum_required(VERSION 3.16)
 project(cwriterasync LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/cwriterasync")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core SerialPort)
 
 qt_add_executable(cwriterasync
     main.cpp
     serialportwriter.cpp serialportwriter.h
 )
+
 set_target_properties(cwriterasync PROPERTIES
     WIN32_EXECUTABLE FALSE
     MACOSX_BUNDLE FALSE
 )
+
 target_link_libraries(cwriterasync PRIVATE
     Qt::Core
     Qt::SerialPort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/cwritersync/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/cwritersync/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/cwritersync/CMakeLists.txt
        2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/cwritersync/CMakeLists.txt
        2022-04-05 16:01:25.000000000 +0200
@@ -1,28 +1,25 @@
 cmake_minimum_required(VERSION 3.16)
 project(cwritersync LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/cwritersync")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core SerialPort)
 
 qt_add_executable(cwritersync
     main.cpp
 )
+
 set_target_properties(cwritersync PROPERTIES
     WIN32_EXECUTABLE FALSE
     MACOSX_BUNDLE FALSE
 )
+
 target_link_libraries(cwritersync PRIVATE
     Qt::Core
     Qt::SerialPort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/enumerator/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/enumerator/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/enumerator/CMakeLists.txt
 2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/enumerator/CMakeLists.txt
 2022-04-05 16:01:25.000000000 +0200
@@ -1,30 +1,25 @@
 cmake_minimum_required(VERSION 3.16)
 project(enumerator LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/enumerator")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core Gui SerialPort Widgets)
 
 qt_add_executable(enumerator
     main.cpp
 )
+
 set_target_properties(enumerator PROPERTIES
     WIN32_EXECUTABLE TRUE
     MACOSX_BUNDLE TRUE
 )
+
 target_link_libraries(enumerator PRIVATE
     Qt::Core
     Qt::Gui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/receiver/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/receiver/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/receiver/CMakeLists.txt
   2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/receiver/CMakeLists.txt
   2022-04-05 16:01:25.000000000 +0200
@@ -1,31 +1,26 @@
 cmake_minimum_required(VERSION 3.16)
 project(receiver LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/receiver")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core Gui SerialPort Widgets)
 
 qt_add_executable(receiver
     dialog.cpp dialog.h
     main.cpp
 )
+
 set_target_properties(receiver PROPERTIES
     WIN32_EXECUTABLE TRUE
     MACOSX_BUNDLE TRUE
 )
+
 target_link_libraries(receiver PRIVATE
     Qt::Core
     Qt::Gui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/sender/CMakeLists.txt 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/sender/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/sender/CMakeLists.txt 
    2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/sender/CMakeLists.txt 
    2022-04-05 16:01:25.000000000 +0200
@@ -1,31 +1,26 @@
 cmake_minimum_required(VERSION 3.16)
 project(sender LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/sender")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core Gui SerialPort Widgets)
 
 qt_add_executable(sender
     dialog.cpp dialog.h
     main.cpp
 )
+
 set_target_properties(sender PROPERTIES
     WIN32_EXECUTABLE TRUE
     MACOSX_BUNDLE TRUE
 )
+
 target_link_libraries(sender PRIVATE
     Qt::Core
     Qt::Gui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/terminal/CMakeLists.txt
 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/terminal/CMakeLists.txt
--- 
old/qtserialport-everywhere-src-6.2.4/examples/serialport/terminal/CMakeLists.txt
   2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/examples/serialport/terminal/CMakeLists.txt
   2022-04-05 16:01:25.000000000 +0200
@@ -1,22 +1,16 @@
 cmake_minimum_required(VERSION 3.16)
 project(terminal LANGUAGES CXX)
 
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
 set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
 set(CMAKE_AUTOUIC ON)
 
 if(NOT DEFINED INSTALL_EXAMPLESDIR)
-  set(INSTALL_EXAMPLESDIR "examples")
+    set(INSTALL_EXAMPLESDIR "examples")
 endif()
 
 set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/terminal")
 
-find_package(Qt6 COMPONENTS Core)
-find_package(Qt6 COMPONENTS Gui)
-find_package(Qt6 COMPONENTS Widgets)
-find_package(Qt6 COMPONENTS SerialPort)
+find_package(Qt6 REQUIRED COMPONENTS Core Gui SerialPort Widgets)
 
 qt_add_executable(terminal
     console.cpp console.h
@@ -24,10 +18,12 @@
     mainwindow.cpp mainwindow.h mainwindow.ui
     settingsdialog.cpp settingsdialog.h settingsdialog.ui
 )
+
 set_target_properties(terminal PROPERTIES
     WIN32_EXECUTABLE TRUE
     MACOSX_BUNDLE TRUE
 )
+
 target_link_libraries(terminal PRIVATE
     Qt::Core
     Qt::Gui
@@ -35,7 +31,6 @@
     Qt::Widgets
 )
 
-
 # Resources:
 set(terminal_resource_files
     "images/application-exit.png"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialport_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialport_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialport_p.h
       2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialport_p.h
       1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qserialport_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialportinfo_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialportinfo_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialportinfo_p.h
   2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qserialportinfo_p.h
   1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qserialportinfo_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qtntdll_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qtntdll_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qtntdll_p.h
   2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qtntdll_p.h
   1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qtntdll_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qtudev_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qtudev_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.2.4/QtSerialPort/private/qtudev_p.h
    2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.2.4/QtSerialPort/private/qtudev_p.h
    1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/serialport/qtudev_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialport_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialport_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialport_p.h
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialport_p.h
       2022-04-05 16:01:25.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qserialport_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialportinfo_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialportinfo_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialportinfo_p.h
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qserialportinfo_p.h
   2022-04-05 16:01:25.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qserialportinfo_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qtudev_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qtudev_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qtudev_p.h
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qtudev_p.h
    2022-04-05 16:01:25.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qtudev_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qwinoverlappedionotifier_p.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qwinoverlappedionotifier_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/6.3.0/QtSerialPort/private/qwinoverlappedionotifier_p.h
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/6.3.0/QtSerialPort/private/qwinoverlappedionotifier_p.h
  2022-04-05 16:01:25.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/serialport/qwinoverlappedionotifier_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/headers.pri 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/headers.pri
--- old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/headers.pri      
2022-03-10 11:21:31.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/headers.pri      
2022-04-06 19:56:41.000000000 +0200
@@ -1,6 +1,6 @@
 SYNCQT.HEADER_FILES = qserialport.h qserialportglobal.h qserialportinfo.h 
 SYNCQT.GENERATED_HEADER_FILES = QSerialPort QSerialPortInfo 
qtserialportversion.h QtSerialPortVersion QtSerialPort 
-SYNCQT.PRIVATE_HEADER_FILES = qserialport_p.h qserialportinfo_p.h qtntdll_p.h 
qtudev_p.h 
+SYNCQT.PRIVATE_HEADER_FILES = qserialport_p.h qserialportinfo_p.h qtudev_p.h 
qwinoverlappedionotifier_p.h 
 SYNCQT.QPA_HEADER_FILES = 
 SYNCQT.CLEAN_HEADER_FILES = qserialport.h qserialportglobal.h 
qserialportinfo.h 
 SYNCQT.INJECTIONS = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/qtserialportversion.h
 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/qtserialportversion.h
--- 
old/qtserialport-everywhere-src-6.2.4/include/QtSerialPort/qtserialportversion.h
    2022-03-10 11:21:31.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/include/QtSerialPort/qtserialportversion.h
    2022-04-06 19:56:41.000000000 +0200
@@ -2,8 +2,8 @@
 #ifndef QT_QTSERIALPORT_VERSION_H
 #define QT_QTSERIALPORT_VERSION_H
 
-#define QTSERIALPORT_VERSION_STR "6.2.4"
+#define QTSERIALPORT_VERSION_STR "6.3.0"
 
-#define QTSERIALPORT_VERSION 0x060204
+#define QTSERIALPORT_VERSION 0x060300
 
 #endif // QT_QTSERIALPORT_VERSION_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/CMakeLists.txt 
new/qtserialport-everywhere-src-6.3.0/src/serialport/CMakeLists.txt
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/CMakeLists.txt 
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/CMakeLists.txt 
2022-04-05 16:01:25.000000000 +0200
@@ -16,16 +16,12 @@
         Qt::Core
     PRIVATE_MODULE_INTERFACE
         Qt::CorePrivate
+    GENERATE_CPP_EXPORTS
 )
 
 ## Scopes:
 #####################################################################
 
-qt_internal_extend_target(SerialPort CONDITION config_ntddmodm
-    DEFINES
-        QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM
-)
-
 qt_internal_extend_target(SerialPort CONDITION QT_FEATURE_libudev AND UNIX
    DEFINES
        LINK_LIBUDEV
@@ -37,7 +33,8 @@
     SOURCES
         qserialport_win.cpp
         qserialportinfo_win.cpp
-        qtntdll_p.h
+        qwinoverlappedionotifier.cpp
+        qwinoverlappedionotifier_p.h
     LIBRARIES
         advapi32
         setupapi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/configure.cmake 
new/qtserialport-everywhere-src-6.3.0/src/serialport/configure.cmake
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/configure.cmake        
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/configure.cmake        
2022-04-05 16:01:25.000000000 +0200
@@ -37,7 +37,7 @@
     CONDITION TEST_ntddmodm
     DISABLE INPUT_ntddmodm STREQUAL 'no'
 )
-qt_feature_definition("ntddmodm" "QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM" 
NEGATE)
+qt_feature_definition("ntddmodm" "QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM")
 qt_configure_add_summary_section(NAME "Serial Port")
 qt_configure_add_summary_entry(ARGS "ntddmodm")
 qt_configure_end_summary_section() # end of "Serial Port" section
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/doc/qtserialport.qdocconf 
new/qtserialport-everywhere-src-6.3.0/src/serialport/doc/qtserialport.qdocconf
--- 
old/qtserialport-everywhere-src-6.2.4/src/serialport/doc/qtserialport.qdocconf  
    2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/src/serialport/doc/qtserialport.qdocconf  
    2022-04-05 16:01:25.000000000 +0200
@@ -13,10 +13,6 @@
 qhp.QtSerialPort.indexTitle          = Qt Serial Port
 qhp.QtSerialPort.indexRoot           =
 
-qhp.QtSerialPort.filterAttributes    = qtserialport $QT_VERSION qtrefdoc
-qhp.QtSerialPort.customFilters.Qt.name = QtSerialPort $QT_VERSION
-qhp.QtSerialPort.customFilters.Qt.filterAttributes = qtserialport $QT_VERSION
-
 qhp.QtSerialPort.subprojects         = classes examples
 
 qhp.QtSerialPort.subprojects.classes.title = C++ Classes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialport.h 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialport.h
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialport.h  
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialport.h  
2022-04-05 16:01:25.000000000 +0200
@@ -244,6 +244,7 @@
 
 #if defined(Q_OS_WIN32)
     Q_PRIVATE_SLOT(d_func(), bool _q_startAsyncWrite())
+    Q_PRIVATE_SLOT(d_func(), void _q_notified(quint32, quint32, OVERLAPPED*))
 #endif
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialport_p.h 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialport_p.h
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialport_p.h        
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialport_p.h        
2022-04-05 16:01:25.000000000 +0200
@@ -106,6 +106,7 @@
 
 QT_BEGIN_NAMESPACE
 
+class QWinOverlappedIoNotifier;
 class QTimer;
 class QSocketNotifier;
 
@@ -210,6 +211,7 @@
 
     bool setDcb(DCB *dcb);
     bool getDcb(DCB *dcb);
+    OVERLAPPED *waitForNotified(QDeadlineTimer deadline);
 
     qint64 queuedBytesCount(QSerialPort::Direction direction) const;
 
@@ -219,15 +221,10 @@
 
     bool startAsyncCommunication();
     bool _q_startAsyncWrite();
-    void handleNotification(DWORD bytesTransferred, DWORD errorCode,
-                            OVERLAPPED *overlapped);
+    void _q_notified(DWORD numberOfBytes, DWORD errorCode, OVERLAPPED 
*overlapped);
 
     void emitReadyRead();
 
-    static void CALLBACK ioCompletionRoutine(
-            DWORD errorCode, DWORD bytesTransfered,
-            OVERLAPPED *overlappedBase);
-
     DCB restoredDcb;
     COMMTIMEOUTS currentCommTimeouts;
     COMMTIMEOUTS restoredCommTimeouts;
@@ -237,12 +234,11 @@
     bool communicationStarted = false;
     bool writeStarted = false;
     bool readStarted = false;
-    qint64 writeBytesTransferred = 0;
-    qint64 readBytesTransferred = 0;
+    QWinOverlappedIoNotifier *notifier = nullptr;
     QTimer *startAsyncWriteTimer = nullptr;
-    class Overlapped *communicationCompletionOverlapped = nullptr;
-    class Overlapped *readCompletionOverlapped = nullptr;
-    class Overlapped *writeCompletionOverlapped = nullptr;
+    OVERLAPPED communicationOverlapped;
+    OVERLAPPED readCompletionOverlapped;
+    OVERLAPPED writeCompletionOverlapped;
     DWORD triggeredEventMask = 0;
 
 #elif defined(Q_OS_UNIX)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialport_win.cpp 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialport_win.cpp
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialport_win.cpp    
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialport_win.cpp    
2022-04-05 16:01:25.000000000 +0200
@@ -40,7 +40,7 @@
 ****************************************************************************/
 
 #include "qserialport_p.h"
-#include "qtntdll_p.h"
+#include "qwinoverlappedionotifier_p.h"
 
 #include <QtCore/qcoreevent.h>
 #include <QtCore/qelapsedtimer.h>
@@ -49,6 +49,37 @@
 #include <QtCore/qtimer.h>
 #include <algorithm>
 
+#ifndef CTL_CODE
+#  define CTL_CODE(DeviceType, Function, Method, Access) ( \
+    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
+    )
+#endif
+
+#ifndef FILE_DEVICE_SERIAL_PORT
+#  define FILE_DEVICE_SERIAL_PORT  27
+#endif
+
+#ifndef METHOD_BUFFERED
+#  define METHOD_BUFFERED  0
+#endif
+
+#ifndef FILE_ANY_ACCESS
+#  define FILE_ANY_ACCESS  0x00000000
+#endif
+
+#ifndef IOCTL_SERIAL_GET_DTRRTS
+#  define IOCTL_SERIAL_GET_DTRRTS \
+    CTL_CODE(FILE_DEVICE_SERIAL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#endif
+
+#ifndef SERIAL_DTR_STATE
+#  define SERIAL_DTR_STATE  0x00000001
+#endif
+
+#ifndef SERIAL_RTS_STATE
+#  define SERIAL_RTS_STATE  0x00000002
+#endif
+
 QT_BEGIN_NAMESPACE
 
 static inline void qt_set_common_props(DCB *dcb)
@@ -143,117 +174,8 @@
     }
 }
 
-// Translate NT-callbacks to Win32 callbacks.
-static VOID WINAPI qt_apc_routine(
-        PVOID context,
-        PIO_STATUS_BLOCK ioStatusBlock,
-        DWORD reserved)
-{
-    Q_UNUSED(reserved);
-
-    const DWORD errorCode = ::RtlNtStatusToDosError(ioStatusBlock->Status);
-    const DWORD bytesTransfered = NT_SUCCESS(ioStatusBlock->Status)
-            ? DWORD(ioStatusBlock->Information) : 0;
-    const LPOVERLAPPED overlapped = CONTAINING_RECORD(ioStatusBlock,
-                                                      OVERLAPPED, Internal);
-
-    (reinterpret_cast<LPOVERLAPPED_COMPLETION_ROUTINE>(context))
-            (errorCode, bytesTransfered, overlapped);
-}
-
-// Alertable analog of DeviceIoControl function.
-static BOOL qt_device_io_control_ex(
-        HANDLE deviceHandle,
-        DWORD ioControlCode,
-        LPVOID inputBuffer,
-        DWORD inputBufferSize,
-        LPVOID outputBuffer,
-        DWORD outputBufferSize,
-        LPOVERLAPPED overlapped,
-        LPOVERLAPPED_COMPLETION_ROUTINE completionRoutine)
-{
-    const auto ioStatusBlock = reinterpret_cast<PIO_STATUS_BLOCK>(
-                &overlapped->Internal);
-    ioStatusBlock->Status = STATUS_PENDING;
-
-    const NTSTATUS status = ::NtDeviceIoControlFile(
-                deviceHandle,
-                nullptr,
-                qt_apc_routine,
-                reinterpret_cast<PVOID>(completionRoutine),
-                ioStatusBlock,
-                ioControlCode,
-                inputBuffer,
-                inputBufferSize,
-                outputBuffer,
-                outputBufferSize);
-
-    if (!NT_SUCCESS(status)) {
-        ::SetLastError(::RtlNtStatusToDosError(status));
-        return false;
-    }
-
-    return true;
-}
-
-// Alertable analog of WaitCommEvent function.
-static BOOL qt_wait_comm_event_ex(
-        HANDLE deviceHandle,
-        LPDWORD eventsMask,
-        LPOVERLAPPED overlapped,
-        LPOVERLAPPED_COMPLETION_ROUTINE completionRoutine)
-{
-    return qt_device_io_control_ex(
-                deviceHandle,
-                IOCTL_SERIAL_WAIT_ON_MASK,
-                nullptr,
-                0,
-                eventsMask,
-                sizeof(DWORD),
-                overlapped,
-                completionRoutine);
-}
-
-struct RuntimeHelper
-{
-    QLibrary ntLibrary;
-    QBasicMutex mutex;
-};
-
-Q_GLOBAL_STATIC(RuntimeHelper, helper)
-
-class Overlapped final : public OVERLAPPED
-{
-    Q_DISABLE_COPY(Overlapped)
-public:
-    explicit Overlapped(QSerialPortPrivate *d);
-    void clear();
-
-    QSerialPortPrivate *dptr = nullptr;
-};
-
-Overlapped::Overlapped(QSerialPortPrivate *d)
-    : dptr(d)
-{
-}
-
-void Overlapped::clear()
-{
-    ::ZeroMemory(this, sizeof(OVERLAPPED));
-}
-
 bool QSerialPortPrivate::open(QIODevice::OpenMode mode)
 {
-    {
-        QMutexLocker locker(&helper()->mutex);
-        static bool symbolsResolved = 
resolveNtdllSymbols(&helper()->ntLibrary);
-        if (!symbolsResolved) {
-            setError(QSerialPortErrorInfo(QSerialPort::OpenError,
-                                          helper()->ntLibrary.errorString()));
-            return false;
-        }
-    }
-
     DWORD desiredAccess = 0;
 
     if (mode & QIODevice::ReadOnly)
@@ -278,44 +200,17 @@
 
 void QSerialPortPrivate::close()
 {
-    delete startAsyncWriteTimer;
-    startAsyncWriteTimer = nullptr;
-
-    if (communicationStarted) {
-        communicationCompletionOverlapped->dptr = nullptr;
-        ::CancelIoEx(handle, communicationCompletionOverlapped);
-        // The object will be deleted in the I/O callback.
-        communicationCompletionOverlapped = nullptr;
-        communicationStarted = false;
-    } else {
-        delete communicationCompletionOverlapped;
-        communicationCompletionOverlapped = nullptr;
-    }
+    ::CancelIo(handle);
 
-    if (readStarted) {
-        readCompletionOverlapped->dptr = nullptr;
-        ::CancelIoEx(handle, readCompletionOverlapped);
-        // The object will be deleted in the I/O callback.
-        readCompletionOverlapped = nullptr;
-        readStarted = false;
-    } else {
-        delete readCompletionOverlapped;
-        readCompletionOverlapped = nullptr;
-    };
+    delete notifier;
+    notifier = nullptr;
 
-    if (writeStarted) {
-        writeCompletionOverlapped->dptr = nullptr;
-        ::CancelIoEx(handle, writeCompletionOverlapped);
-        // The object will be deleted in the I/O callback.
-        writeCompletionOverlapped = nullptr;
-        writeStarted = false;
-    } else {
-        delete writeCompletionOverlapped;
-        writeCompletionOverlapped = nullptr;
-    }
+    delete startAsyncWriteTimer;
+    startAsyncWriteTimer = nullptr;
 
-    readBytesTransferred = 0;
-    writeBytesTransferred = 0;
+    communicationStarted = false;
+    readStarted = false;
+    writeStarted = false;
     writeBuffer.clear();
 
     if (settingsRestoredOnClose) {
@@ -447,25 +342,30 @@
     if (!writeStarted && !_q_startAsyncWrite())
         return false;
 
+    const qint64 initialReadBufferSize = buffer.size();
+    qint64 currentReadBufferSize = initialReadBufferSize;
+
     QDeadlineTimer deadline(msecs);
 
     do {
-        if (readBytesTransferred <= 0) {
-            const qint64 remaining = deadline.remainingTime();
-            const DWORD result = ::SleepEx(
-                        remaining == -1 ? INFINITE : DWORD(remaining),
-                        TRUE);
-            if (result != WAIT_IO_COMPLETION)
-                continue;
-        }
+        const OVERLAPPED *overlapped = waitForNotified(deadline);
+        if (!overlapped)
+            return false;
 
-        if (readBytesTransferred > 0) {
-            readBytesTransferred = 0;
-            return true;
+        if (overlapped == &readCompletionOverlapped) {
+            const qint64 readBytesForOneReadOperation = qint64(buffer.size()) 
- currentReadBufferSize;
+            if (readBytesForOneReadOperation == QSERIALPORT_BUFFERSIZE) {
+                currentReadBufferSize = buffer.size();
+            } else if (readBytesForOneReadOperation == 0) {
+                if (initialReadBufferSize != currentReadBufferSize)
+                    return true;
+            } else {
+                return true;
+            }
         }
+
     } while (!deadline.hasExpired());
 
-    setError(getSystemError(WAIT_TIMEOUT));
     return false;
 }
 
@@ -479,23 +379,15 @@
 
     QDeadlineTimer deadline(msecs);
 
-    do {
-        if (writeBytesTransferred <= 0) {
-            const qint64 remaining = deadline.remainingTime();
-            const DWORD result = ::SleepEx(
-                        remaining == -1 ? INFINITE : DWORD(remaining),
-                        TRUE);
-            if (result != WAIT_IO_COMPLETION)
-                continue;
-        }
+    for (;;) {
+        const OVERLAPPED *overlapped = waitForNotified(deadline);
+        if (!overlapped)
+            return false;
 
-        if (writeBytesTransferred > 0) {
-            writeBytesTransferred = 0;
+         if (overlapped == &writeCompletionOverlapped)
             return true;
-        }
-    } while (!deadline.hasExpired());
+    }
 
-    setError(getSystemError(WAIT_TIMEOUT));
     return false;
 }
 
@@ -576,10 +468,6 @@
 
 bool QSerialPortPrivate::completeAsyncRead(qint64 bytesTransferred)
 {
-    // Store the number of transferred bytes which are
-    // required only in waitForReadyRead() method.
-    readBytesTransferred = bytesTransferred;
-
     if (bytesTransferred == qint64(-1)) {
         readStarted = false;
         return false;
@@ -607,10 +495,6 @@
 {
     Q_Q(QSerialPort);
 
-    // Store the number of transferred bytes which are
-    // required only in waitForBytesWritten() method.
-    writeBytesTransferred = bytesTransferred;
-
     if (writeStarted) {
         if (bytesTransferred == qint64(-1)) {
             writeChunkBuffer.clear();
@@ -631,16 +515,8 @@
     if (communicationStarted)
         return true;
 
-    if (!communicationCompletionOverlapped)
-        communicationCompletionOverlapped = new Overlapped(this);
-
-    communicationCompletionOverlapped->clear();
-    communicationStarted = true;
-    if (!::qt_wait_comm_event_ex(handle,
-                                 &triggeredEventMask,
-                                 communicationCompletionOverlapped,
-                                 ioCompletionRoutine)) {
-        communicationStarted = false;
+    ::ZeroMemory(&communicationOverlapped, sizeof(communicationOverlapped));
+    if (!::WaitCommEvent(handle, &triggeredEventMask, 
&communicationOverlapped)) {
         QSerialPortErrorInfo error = getSystemError();
         if (error.errorCode != QSerialPort::NoError) {
             if (error.errorCode == QSerialPort::PermissionError)
@@ -649,6 +525,7 @@
             return false;
         }
     }
+    communicationStarted = true;
     return true;
 }
 
@@ -670,27 +547,23 @@
 
     Q_ASSERT(int(bytesToRead) <= readChunkBuffer.size());
 
-    if (!readCompletionOverlapped)
-        readCompletionOverlapped = new Overlapped(this);
+    ::ZeroMemory(&readCompletionOverlapped, sizeof(readCompletionOverlapped));
+    if (::ReadFile(handle, readChunkBuffer.data(), bytesToRead, nullptr, 
&readCompletionOverlapped)) {
+        readStarted = true;
+        return true;
+    }
 
-    readCompletionOverlapped->clear();
-    readStarted = true;
-    if (!::ReadFileEx(handle,
-                      readChunkBuffer.data(),
-                      bytesToRead,
-                      readCompletionOverlapped,
-                      ioCompletionRoutine)) {
-        readStarted = false;
-        QSerialPortErrorInfo error = getSystemError();
-        if (error.errorCode != QSerialPort::NoError) {
-            if (error.errorCode == QSerialPort::PermissionError)
-                error.errorCode = QSerialPort::ResourceError;
-            if (error.errorCode != QSerialPort::ResourceError)
-                error.errorCode = QSerialPort::ReadError;
-            setError(error);
-            return false;
-        }
+    QSerialPortErrorInfo error = getSystemError();
+    if (error.errorCode != QSerialPort::NoError) {
+        if (error.errorCode == QSerialPort::PermissionError)
+            error.errorCode = QSerialPort::ResourceError;
+        if (error.errorCode != QSerialPort::ResourceError)
+            error.errorCode = QSerialPort::ReadError;
+        setError(error);
+        return false;
     }
+
+    readStarted = true;
     return true;
 }
 
@@ -700,18 +573,10 @@
         return true;
 
     writeChunkBuffer = writeBuffer.read();
+    ::ZeroMemory(&writeCompletionOverlapped, 
sizeof(writeCompletionOverlapped));
+    if (!::WriteFile(handle, writeChunkBuffer.constData(),
+                     writeChunkBuffer.size(), nullptr, 
&writeCompletionOverlapped)) {
 
-    if (!writeCompletionOverlapped)
-        writeCompletionOverlapped = new Overlapped(this);
-
-    writeCompletionOverlapped->clear();
-    writeStarted = true;
-    if (!::WriteFileEx(handle,
-                       writeChunkBuffer.constData(),
-                       writeChunkBuffer.size(),
-                       writeCompletionOverlapped,
-                       ioCompletionRoutine)) {
-        writeStarted = false;
         QSerialPortErrorInfo error = getSystemError();
         if (error.errorCode != QSerialPort::NoError) {
             if (error.errorCode != QSerialPort::ResourceError)
@@ -720,29 +585,25 @@
             return false;
         }
     }
+
+    writeStarted = true;
     return true;
 }
 
-void QSerialPortPrivate::handleNotification(DWORD bytesTransferred, DWORD 
errorCode,
-                                            OVERLAPPED *overlapped)
+void QSerialPortPrivate::_q_notified(DWORD numberOfBytes, DWORD errorCode, 
OVERLAPPED *overlapped)
 {
-    // This occurred e.g. after calling the CloseHandle() function,
-    // just skip handling at all.
-    if (handle == INVALID_HANDLE_VALUE)
-        return;
-
     const QSerialPortErrorInfo error = getSystemError(errorCode);
     if (error.errorCode != QSerialPort::NoError) {
         setError(error);
         return;
     }
 
-    if (overlapped == communicationCompletionOverlapped)
-        completeAsyncCommunication(bytesTransferred);
-    else if (overlapped == readCompletionOverlapped)
-        completeAsyncRead(bytesTransferred);
-    else if (overlapped == writeCompletionOverlapped)
-        completeAsyncWrite(bytesTransferred);
+    if (overlapped == &communicationOverlapped)
+        completeAsyncCommunication(numberOfBytes);
+    else if (overlapped == &readCompletionOverlapped)
+        completeAsyncRead(numberOfBytes);
+    else if (overlapped == &writeCompletionOverlapped)
+        completeAsyncWrite(numberOfBytes);
     else
         Q_ASSERT(!"Unknown OVERLAPPED activated");
 }
@@ -772,6 +633,16 @@
     return maxSize;
 }
 
+OVERLAPPED *QSerialPortPrivate::waitForNotified(QDeadlineTimer deadline)
+{
+    OVERLAPPED *overlapped = notifier->waitForAnyNotified(deadline);
+    if (!overlapped) {
+        setError(getSystemError(WAIT_TIMEOUT));
+        return nullptr;
+    }
+    return overlapped;
+}
+
 qint64 QSerialPortPrivate::queuedBytesCount(QSerialPort::Direction direction) 
const
 {
     COMSTAT comstat;
@@ -784,6 +655,8 @@
 
 inline bool QSerialPortPrivate::initialize(QIODevice::OpenMode mode)
 {
+    Q_Q(QSerialPort);
+
     DCB dcb;
     if (!getDcb(&dcb))
         return false;
@@ -819,8 +692,17 @@
         return false;
     }
 
-    if ((eventMask & EV_RXCHAR) && !startAsyncCommunication())
+    notifier = new QWinOverlappedIoNotifier(q);
+    QObjectPrivate::connect(notifier, &QWinOverlappedIoNotifier::notified,
+               this, &QSerialPortPrivate::_q_notified);
+    notifier->setHandle(handle);
+    notifier->setEnabled(true);
+
+    if ((eventMask & EV_RXCHAR) && !startAsyncCommunication()) {
+        delete notifier;
+        notifier = nullptr;
         return false;
+    }
 
     return true;
 }
@@ -920,17 +802,4 @@
     return d->handle;
 }
 
-void QSerialPortPrivate::ioCompletionRoutine(
-        DWORD errorCode, DWORD bytesTransfered,
-        OVERLAPPED *overlappedBase)
-{
-    const auto overlapped = static_cast<Overlapped *>(overlappedBase);
-    if (overlapped->dptr) {
-        overlapped->dptr->handleNotification(bytesTransfered, errorCode,
-                                             overlappedBase);
-    } else {
-        delete overlapped;
-    }
-}
-
 QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialportglobal.h 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialportglobal.h
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/qserialportglobal.h    
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/qserialportglobal.h    
2022-04-05 16:01:25.000000000 +0200
@@ -43,19 +43,6 @@
 
 #include <QtCore/qstring.h>
 #include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-#  if defined(QT_BUILD_SERIALPORT_LIB)
-#    define Q_SERIALPORT_EXPORT Q_DECL_EXPORT
-#  else
-#    define Q_SERIALPORT_EXPORT Q_DECL_IMPORT
-#  endif
-#else
-#  define Q_SERIALPORT_EXPORT
-#endif
-
-QT_END_NAMESPACE
+#include <QtSerialPort/qtserialportexports.h>
 
 #endif // QSERIALPORTGLOBAL_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qtntdll_p.h 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qtntdll_p.h
--- old/qtserialport-everywhere-src-6.2.4/src/serialport/qtntdll_p.h    
2022-03-04 05:15:43.000000000 +0100
+++ new/qtserialport-everywhere-src-6.3.0/src/serialport/qtntdll_p.h    
1970-01-01 01:00:00.000000000 +0100
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 Denis Shienkov <denis.shien...@gmail.com>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSerialPort module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTNTDLL_P_H
-#define QTNTDLL_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qlibrary.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qdebug.h>
-
-#include <qt_windows.h>
-
-// Internal control codes.
-
-#ifndef CTL_CODE
-#  define CTL_CODE(DeviceType, Function, Method, Access) ( \
-    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
-    )
-#endif
-
-#ifndef FILE_DEVICE_SERIAL_PORT
-#  define FILE_DEVICE_SERIAL_PORT  27
-#endif
-
-#ifndef METHOD_BUFFERED
-#  define METHOD_BUFFERED  0
-#endif
-
-#ifndef FILE_ANY_ACCESS
-#  define FILE_ANY_ACCESS  0x00000000
-#endif
-
-#ifndef IOCTL_SERIAL_GET_DTRRTS
-#  define IOCTL_SERIAL_GET_DTRRTS \
-    CTL_CODE(FILE_DEVICE_SERIAL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#endif
-
-#ifndef SERIAL_DTR_STATE
-#  define SERIAL_DTR_STATE  0x00000001
-#endif
-
-#ifndef SERIAL_RTS_STATE
-#  define SERIAL_RTS_STATE  0x00000002
-#endif
-
-#ifndef IOCTL_SERIAL_WAIT_ON_MASK
-#  define IOCTL_SERIAL_WAIT_ON_MASK \
-    CTL_CODE(FILE_DEVICE_SERIAL_PORT, 18, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#endif
-
-// Internal NT-based data types.
-
-#ifndef NT_SUCCESS
-#define NT_SUCCESS(status) (((NTSTATUS)(status)) >= 0)
-#endif
-
-typedef struct _IO_STATUS_BLOCK {
-    union {
-        NTSTATUS Status;
-        PVOID Pointer;
-    } DUMMYUNIONNAME;
-
-    ULONG_PTR Information;
-} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
-
-typedef VOID (WINAPI *PIO_APC_ROUTINE) (
-        PVOID ApcContext,
-        PIO_STATUS_BLOCK IoStatusBlock,
-        ULONG Reserved
-        );
-
-// Resolving macros.
-
-#define GENERATE_SYMBOL_VARIABLE(returnType, symbolName, ...) \
-    typedef returnType (WINAPI *fp_##symbolName)(__VA_ARGS__); \
-    static fp_##symbolName symbolName;
-
-#define RESOLVE_SYMBOL(symbolName) \
-    symbolName = 
reinterpret_cast<fp_##symbolName>(resolveNtdllSymbol(ntLibrary, #symbolName)); \
-    if (!symbolName) \
-        return false;
-
-GENERATE_SYMBOL_VARIABLE(ULONG, RtlNtStatusToDosError, NTSTATUS)
-GENERATE_SYMBOL_VARIABLE(NTSTATUS, NtDeviceIoControlFile, HANDLE, HANDLE, 
PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PVOID, ULONG)
-
-inline QFunctionPointer resolveNtdllSymbol(QLibrary *ntLibrary, const char 
*symbolName)
-{
-    QFunctionPointer symbolFunctionPointer = ntLibrary->resolve(symbolName);
-    if (!symbolFunctionPointer)
-        qWarning("Failed to resolve the symbol: %s", symbolName);
-
-    return symbolFunctionPointer;
-}
-
-inline bool resolveNtdllSymbols(QLibrary *ntLibrary)
-{
-    if (!ntLibrary->isLoaded()) {
-        ntLibrary->setFileName(QStringLiteral("ntdll"));
-        if (!ntLibrary->load()) {
-            qWarning("Failed to load the library: %s", 
qPrintable(ntLibrary->fileName()));
-            return false;
-        }
-    }
-
-    RESOLVE_SYMBOL(RtlNtStatusToDosError)
-    RESOLVE_SYMBOL(NtDeviceIoControlFile)
-
-    return true;
-}
-
-#endif // QTNTDLL_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qwinoverlappedionotifier.cpp
 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qwinoverlappedionotifier.cpp
--- 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qwinoverlappedionotifier.cpp
   2022-03-04 05:15:43.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qwinoverlappedionotifier.cpp
   2022-04-05 16:01:25.000000000 +0200
@@ -313,13 +313,13 @@
         return 0;
     }
 
-    DWORD msecs = deadline.remainingTime();
+    qint64 msecs = deadline.remainingTime();
     if (msecs == 0)
         iocp->drainQueue();
     if (msecs == -1)
         msecs = INFINITE;
 
-    const DWORD wfso = WaitForSingleObject(hSemaphore, msecs);
+    const DWORD wfso = WaitForSingleObject(hSemaphore, DWORD(msecs));
     switch (wfso) {
     case WAIT_OBJECT_0:
         return dispatchNextIoResult();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qwinoverlappedionotifier_p.h
 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qwinoverlappedionotifier_p.h
--- 
old/qtserialport-everywhere-src-6.2.4/src/serialport/qwinoverlappedionotifier_p.h
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtserialport-everywhere-src-6.3.0/src/serialport/qwinoverlappedionotifier_p.h
   2022-04-05 16:01:25.000000000 +0200
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QWINOVERLAPPEDIONOTIFIER_P_H
+#define QWINOVERLAPPEDIONOTIFIER_P_H
+
+//
+//  W A R N I N G
+//  -------------
+//
+// This file is not part of the Qt API.  It exists purely as an
+// implementation detail.  This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/private/qglobal_p.h>
+#include <qobject.h>
+#include <qdeadlinetimer.h>
+
+typedef struct _OVERLAPPED OVERLAPPED;
+
+QT_BEGIN_NAMESPACE
+
+class QWinOverlappedIoNotifierPrivate;
+
+class QWinOverlappedIoNotifier : public QObject
+{
+    Q_OBJECT
+    Q_DISABLE_COPY(QWinOverlappedIoNotifier)
+    Q_DECLARE_PRIVATE(QWinOverlappedIoNotifier)
+    Q_PRIVATE_SLOT(d_func(), void _q_notified())
+    friend class QWinIoCompletionPort;
+public:
+    QWinOverlappedIoNotifier(QObject *parent = 0);
+    ~QWinOverlappedIoNotifier();
+
+    void setHandle(Qt::HANDLE h);
+    Qt::HANDLE handle() const;
+
+    void setEnabled(bool enabled);
+    OVERLAPPED *waitForAnyNotified(QDeadlineTimer deadline);
+    bool waitForNotified(QDeadlineTimer deadline, OVERLAPPED *overlapped);
+
+Q_SIGNALS:
+    void notified(quint32 numberOfBytes, quint32 errorCode, OVERLAPPED 
*overlapped);
+#if !defined(Q_QDOC)
+    void _q_notify();
+#endif
+};
+
+QT_END_NAMESPACE
+
+#endif // QWINOVERLAPPEDIONOTIFIER_P_H

Reply via email to