Hello community,

here is the log from the commit of package libqt5-qtwebchannel for 
openSUSE:Factory checked in at 2019-06-28 16:31:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtwebchannel (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtwebchannel.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtwebchannel"

Fri Jun 28 16:31:12 2019 rev:21 rq:711202 version:5.13.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtwebchannel/libqt5-qtwebchannel.changes  
2019-04-26 22:53:57.565334108 +0200
+++ 
/work/SRC/openSUSE:Factory/.libqt5-qtwebchannel.new.4615/libqt5-qtwebchannel.changes
        2019-06-28 16:31:13.590359327 +0200
@@ -1,0 +2,23 @@
+Wed Jun 19 11:24:49 UTC 2019 - [email protected]
+
+- Update to 5.13.0:
+  * New bugfix release
+  * No changelog available
+  * For more details about Qt 5.13 please see:
+  * 
http://code.qt.io/cgit/qt/qtwebchannel.git/plain/dist/changes-5.13.0/?h=5.13
+
+-------------------------------------------------------------------
+Tue Jun  4 07:25:18 UTC 2019 - [email protected]
+
+- Update to 5.13.0-rc:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Mon Apr 29 09:17:06 UTC 2019 - [email protected]
+
+- Update to 5.13.0-beta2:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
@@ -9,0 +33,8 @@
+Thu Mar 21 10:26:29 UTC 2019 - [email protected]
+
+- Update to 5.13.0-beta1:
+  * New feature release
+  * For more details about Qt 5.13 please see:
+  * 
http://code.qt.io/cgit/qt/qtwebchannel.git/plain/dist/changes-5.13.0/?h=5.13
+
+-------------------------------------------------------------------
@@ -349,0 +381 @@
+

Old:
----
  qtwebchannel-everywhere-src-5.12.3.tar.xz

New:
----
  qtwebchannel-everywhere-src-5.13.0.tar.xz

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

Other differences:
------------------
++++++ libqt5-qtwebchannel.spec ++++++
--- /var/tmp/diff_new_pack.x398AY/_old  2019-06-28 16:31:14.306360409 +0200
+++ /var/tmp/diff_new_pack.x398AY/_new  2019-06-28 16:31:14.310360415 +0200
@@ -19,17 +19,17 @@
 %define qt5_snapshot 0
 %define libname libQt5WebChannel5
 %define base_name libqt5
-%define real_version 5.12.3
-%define so_version 5.12.3
-%define tar_version qtwebchannel-everywhere-src-5.12.3
+%define real_version 5.13.0
+%define so_version 5.13.0
+%define tar_version qtwebchannel-everywhere-src-5.13.0
 Name:           libqt5-qtwebchannel
-Version:        5.12.3
+Version:        5.13.0
 Release:        0
 Summary:        Qt 5 WebChannel Addon
 License:        LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
 Group:          Development/Libraries/X11
 Url:            https://www.qt.io
-Source:         
https://download.qt.io/official_releases/qt/5.12/%{real_version}/submodules/%{tar_version}.tar.xz
+Source:         
https://download.qt.io/official_releases/qt/5.13/%{real_version}/submodules/%{tar_version}.tar.xz
 Source1:        baselibs.conf
 BuildRequires:  fdupes
 BuildRequires:  libqt5-qtbase-private-headers-devel >= %{version}

++++++ qtwebchannel-everywhere-src-5.12.3.tar.xz -> 
qtwebchannel-everywhere-src-5.13.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtwebchannel-everywhere-src-5.12.3/.qmake.conf 
new/qtwebchannel-everywhere-src-5.13.0/.qmake.conf
--- old/qtwebchannel-everywhere-src-5.12.3/.qmake.conf  2019-04-02 
10:50:27.000000000 +0200
+++ new/qtwebchannel-everywhere-src-5.13.0/.qmake.conf  2019-05-08 
10:46:49.000000000 +0200
@@ -1,4 +1,4 @@
 load(qt_build_config)
 CONFIG += warning_clean
 
-MODULE_VERSION = 5.12.3
+MODULE_VERSION = 5.13.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtwebchannel-everywhere-src-5.12.3/.tag 
new/qtwebchannel-everywhere-src-5.13.0/.tag
--- old/qtwebchannel-everywhere-src-5.12.3/.tag 2019-04-02 10:50:27.000000000 
+0200
+++ new/qtwebchannel-everywhere-src-5.13.0/.tag 2019-05-08 10:46:49.000000000 
+0200
@@ -1 +1 @@
-c3574f4ec36f3cab71fcb680e889afc8a16c6242
+fdba7f6e285d35757190d99f9880e3bd0380e254
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/dist/changes-5.13.0 
new/qtwebchannel-everywhere-src-5.13.0/dist/changes-5.13.0
--- old/qtwebchannel-everywhere-src-5.12.3/dist/changes-5.13.0  1970-01-01 
01:00:00.000000000 +0100
+++ new/qtwebchannel-everywhere-src-5.13.0/dist/changes-5.13.0  2019-05-08 
10:46:49.000000000 +0200
@@ -0,0 +1,23 @@
+Qt 5.13 introduces many new features and improvements as well as bugfixes
+over the 5.12.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+*                                 General                                  *
+****************************************************************************
+
+ - [QTBUG-62388] Fix crash when wrapped objects are shared across multiple
+   transports.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/qmetaobjectpublisher_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/qmetaobjectpublisher_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/qmetaobjectpublisher_p.h
    2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/qmetaobjectpublisher_p.h
    1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/webchannel/qmetaobjectpublisher_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/qqmlwebchannelattached_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/qqmlwebchannelattached_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/qqmlwebchannelattached_p.h
  2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/qqmlwebchannelattached_p.h
  1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/webchannel/qqmlwebchannelattached_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/qwebchannel_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/qwebchannel_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/qwebchannel_p.h
     2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/qwebchannel_p.h
     1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/webchannel/qwebchannel_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/signalhandler_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/signalhandler_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/signalhandler_p.h
   2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/signalhandler_p.h
   1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/webchannel/signalhandler_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/variantargument_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/variantargument_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.12.3/QtWebChannel/private/variantargument_p.h
 2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.12.3/QtWebChannel/private/variantargument_p.h
 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../../../../../src/webchannel/variantargument_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/qmetaobjectpublisher_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/qmetaobjectpublisher_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/qmetaobjectpublisher_p.h
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/qmetaobjectpublisher_p.h
    2019-05-08 10:46:49.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/webchannel/qmetaobjectpublisher_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/qqmlwebchannelattached_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/qqmlwebchannelattached_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/qqmlwebchannelattached_p.h
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/qqmlwebchannelattached_p.h
  2019-05-08 10:46:49.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/webchannel/qqmlwebchannelattached_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/qwebchannel_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/qwebchannel_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/qwebchannel_p.h
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/qwebchannel_p.h
     2019-05-08 10:46:49.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/webchannel/qwebchannel_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/signalhandler_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/signalhandler_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/signalhandler_p.h
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/signalhandler_p.h
   2019-05-08 10:46:49.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/webchannel/signalhandler_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/variantargument_p.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/variantargument_p.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/5.13.0/QtWebChannel/private/variantargument_p.h
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/5.13.0/QtWebChannel/private/variantargument_p.h
 2019-05-08 10:46:49.000000000 +0200
@@ -0,0 +1 @@
+#include "../../../../../src/webchannel/variantargument_p.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/qtwebchannelversion.h
 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/qtwebchannelversion.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/include/QtWebChannel/qtwebchannelversion.h
   2019-04-11 20:26:47.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/include/QtWebChannel/qtwebchannelversion.h
   2019-06-17 14:33:29.000000000 +0200
@@ -2,8 +2,8 @@
 #ifndef QT_QTWEBCHANNEL_VERSION_H
 #define QT_QTWEBCHANNEL_VERSION_H
 
-#define QTWEBCHANNEL_VERSION_STR "5.12.3"
+#define QTWEBCHANNEL_VERSION_STR "5.13.0"
 
-#define QTWEBCHANNEL_VERSION 0x050C03
+#define QTWEBCHANNEL_VERSION 0x050D00
 
 #endif // QT_QTWEBCHANNEL_VERSION_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/dependencies.json 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/dependencies.json
--- 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/dependencies.json 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/dependencies.json 
    2019-05-08 10:46:49.000000000 +0200
@@ -0,0 +1,2 @@
+[
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/plugin.cpp 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/plugin.cpp
--- old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/plugin.cpp    
2019-04-02 10:50:27.000000000 +0200
+++ new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/plugin.cpp    
2019-05-08 10:46:49.000000000 +0200
@@ -60,6 +60,9 @@
     int major = 1;
     int minor = 0;
     qmlRegisterType<QQmlWebChannel>(uri, major, minor, "WebChannel");
+
+    // Auto-increment the import to stay in sync with ALL future QtQuick minor 
versions
+    qmlRegisterModule(uri, major, QT_VERSION_MINOR);
 }
 
 QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/plugins.qmltypes 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/plugins.qmltypes
--- 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/plugins.qmltypes  
    2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/plugins.qmltypes  
    2019-05-08 10:46:49.000000000 +0200
@@ -1,12 +1,13 @@
-import QtQuick.tooling 1.1
+import QtQuick.tooling 1.2
 
 // This file describes the plugin-supplied types contained in the library.
 // It is used for QML tooling purposes only.
 //
 // This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtWebChannel 1.0'
+// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtWebChannel 
1.13'
 
 Module {
+    dependencies: []
     Component {
         name: "QQmlWebChannel"
         prototype: "QWebChannel"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/webchannel.pro 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/webchannel.pro
--- 
old/qtwebchannel-everywhere-src-5.12.3/src/imports/webchannel/webchannel.pro    
    2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/src/imports/webchannel/webchannel.pro    
    2019-05-08 10:46:49.000000000 +0200
@@ -3,7 +3,7 @@
 INCLUDEPATH += ../../webchannel
 VPATH += ../../webchannel
 
-IMPORT_VERSION = 1.0
+IMPORT_VERSION = 1.$$QT_MINOR_VERSION
 
 SOURCES += \
     plugin.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/doc/src/index.qdoc 
new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/doc/src/index.qdoc
--- old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/doc/src/index.qdoc    
2019-04-02 10:50:27.000000000 +0200
+++ new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/doc/src/index.qdoc    
2019-05-08 10:46:49.000000000 +0200
@@ -59,9 +59,9 @@
     \endcode
 
     The QML types are accessed by using:
-    \badcode
-    import QtWebChannel 1.0
-    \endcode
+    \qml \QtMinorVersion
+    import QtWebChannel 1.\1
+    \endqml
 
     \section1 Licenses
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/doc/src/module.qdoc 
new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/doc/src/module.qdoc
--- old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/doc/src/module.qdoc   
2019-04-02 10:50:27.000000000 +0200
+++ new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/doc/src/module.qdoc   
2019-05-08 10:46:49.000000000 +0200
@@ -48,13 +48,13 @@
 */
 
 /*!
-    \qmlmodule QtWebChannel 1.0
+    \qmlmodule QtWebChannel 1.\QtMinorVersion
     \title Qt WebChannel QML Types
     \since 5.4
     \brief List of QML types that provide WebChannel functionality.
 
     The QML types are accessed by using:
-    \badcode
-    import QtWebChannel 1.0
-    \endcode
+    \qml \QtMinorVersion
+    import QtWebChannel 1.\1
+    \endqml
 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/qmetaobjectpublisher.cpp 
new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/qmetaobjectpublisher.cpp
--- 
old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/qmetaobjectpublisher.cpp  
    2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/qmetaobjectpublisher.cpp  
    2019-05-08 10:46:49.000000000 +0200
@@ -591,11 +591,9 @@
         } else if (wrappedObjects.contains(id)) {
             Q_ASSERT(object == wrappedObjects.value(id).object);
             // check if this transport is already assigned to the object
-            if (transport) {
-                if (!wrappedObjects.value(id).transports.contains(transport))
-                    wrappedObjects[id].transports.append(transport);
-                if (!transportedWrappedObjects.contains(transport, id))
-                    transportedWrappedObjects.insertMulti(transport, id);
+            if (transport && 
!wrappedObjects.value(id).transports.contains(transport)) {
+                wrappedObjects[id].transports.append(transport);
+                transportedWrappedObjects.insert(transport, id);
             }
             classInfo = wrappedObjects.value(id).classinfo;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/qqmlwebchannel.cpp 
new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/qqmlwebchannel.cpp
--- old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/qqmlwebchannel.cpp    
2019-04-02 10:50:27.000000000 +0200
+++ new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/qqmlwebchannel.cpp    
2019-05-08 10:46:49.000000000 +0200
@@ -134,8 +134,8 @@
 
 /*!
     \qmlmethod void WebChannel::registerObjects(QVariantMap objects)
-    Registers objects to make them accessible to HTML clients. The key of the
-    map is used as an identifier for the object on the client side.
+    Registers the specified \a objects to make them accessible to HTML clients.
+    The key of the map is used as an identifier for the object on the client 
side.
 
     Once registered, all signals and property changes are automatically 
propagated to the clients.
     Public invokable methods, including slots, are also accessible to the 
clients.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/qwebchannel.cpp 
new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/qwebchannel.cpp
--- old/qtwebchannel-everywhere-src-5.12.3/src/webchannel/qwebchannel.cpp       
2019-04-02 10:50:27.000000000 +0200
+++ new/qtwebchannel-everywhere-src-5.13.0/src/webchannel/qwebchannel.cpp       
2019-05-08 10:46:49.000000000 +0200
@@ -46,6 +46,8 @@
 #include <QJsonDocument>
 #include <QJsonObject>
 
+#include <algorithm>
+
 QT_BEGIN_NAMESPACE
 
 /*!
@@ -81,10 +83,10 @@
 */
 void QWebChannelPrivate::_q_transportDestroyed(QObject *object)
 {
-    QWebChannelAbstractTransport *transport = 
static_cast<QWebChannelAbstractTransport*>(object);
-    const int idx = transports.indexOf(transport);
-    if (idx != -1) {
-        transports.remove(idx);
+    auto it = std::find(transports.begin(), transports.end(), object);
+    if (it != transports.end()) {
+        auto *transport = *it;
+        transports.erase(it);
         publisher->transportRemoved(transport);
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/tests/auto/webchannel/tst_webchannel.cpp 
new/qtwebchannel-everywhere-src-5.13.0/tests/auto/webchannel/tst_webchannel.cpp
--- 
old/qtwebchannel-everywhere-src-5.12.3/tests/auto/webchannel/tst_webchannel.cpp 
    2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/tests/auto/webchannel/tst_webchannel.cpp 
    2019-05-08 10:46:49.000000000 +0200
@@ -1115,6 +1115,39 @@
 #endif // WEBCHANNEL_TESTS_CAN_USE_JS_ENGINE
 }
 
+void TestWebChannel::qtbug62388_wrapObjectMultipleTransports()
+{
+    QWebChannel channel;
+    TestObject obj;
+
+    auto initTransport = [&channel](QWebChannelAbstractTransport *transport) {
+        channel.connectTo(transport);
+        channel.d_func()->publisher->initializeClient(transport);
+    };
+    initTransport(m_dummyTransport);
+
+    auto queryObjectInfo = [&channel](QObject *obj, 
QWebChannelAbstractTransport *transport) {
+        return 
channel.d_func()->publisher->wrapResult(QVariant::fromValue(obj), 
transport).toObject();
+    };
+    const auto objectInfo = queryObjectInfo(&obj, m_dummyTransport);
+
+    QCOMPARE(objectInfo.length(), 3);
+    QVERIFY(objectInfo.contains("id"));
+    QVERIFY(objectInfo.contains("__QObject*__"));
+    QVERIFY(objectInfo.contains("data"));
+    QVERIFY(objectInfo.value("__QObject*__").isBool() && 
objectInfo.value("__QObject*__").toBool());
+
+    const auto id = objectInfo.value("id").toString();
+
+    QCOMPARE(channel.d_func()->publisher->unwrapObject(id), &obj);
+
+    DummyTransport transport;
+    initTransport(&transport);
+    QCOMPARE(queryObjectInfo(&obj, &transport), objectInfo);
+
+    // don't crash when the transport is destroyed
+}
+
 QTEST_MAIN(TestWebChannel)
 
 #include "tst_webchannel.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwebchannel-everywhere-src-5.12.3/tests/auto/webchannel/tst_webchannel.h 
new/qtwebchannel-everywhere-src-5.13.0/tests/auto/webchannel/tst_webchannel.h
--- 
old/qtwebchannel-everywhere-src-5.12.3/tests/auto/webchannel/tst_webchannel.h   
    2019-04-02 10:50:27.000000000 +0200
+++ 
new/qtwebchannel-everywhere-src-5.13.0/tests/auto/webchannel/tst_webchannel.h   
    2019-05-08 10:46:49.000000000 +0200
@@ -45,7 +45,7 @@
 {
     Q_OBJECT
 public:
-    explicit DummyTransport(QObject *parent)
+    explicit DummyTransport(QObject *parent = nullptr)
         : QWebChannelAbstractTransport(parent)
     {}
     ~DummyTransport() {};
@@ -329,6 +329,7 @@
     void benchRemoveTransport();
 
     void qtbug46548_overriddenProperties();
+    void qtbug62388_wrapObjectMultipleTransports();
 
 private:
     DummyTransport *m_dummyTransport;


Reply via email to