From 07f8e5dae95ae78c200817cd73e612bdb4659d2b Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 14 Oct 2019 09:42:25 +0200 Subject: Bump version Change-Id: I80b008b3cc1cf483656096bade145f05917defb5 --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index b5e35ea..988629e 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,4 +3,4 @@ load(qt_build_config) CONFIG += warning_clean DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.13.1 +MODULE_VERSION = 5.13.2 -- cgit v1.2.1 From 3ba4325e962d94ffe8423790f85842cf3079716a Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 15 Oct 2019 22:00:56 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I5b64d0e7a739eb1a573d4a136b49326b17be06ea Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 6bf8141..075b639 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: e164d61ca8263fc4b46fdd916e1ea77c7dd2b735 + ref: 3026c0630dedb2fd8744e4cd9505f90c86b1a1cd required: true ../qtdeclarative: - ref: 803f18f02e5609a1ca00a5b78ea6d3613d44e1a0 + ref: b120a5be80329745374160bf0bf0f7ac76509883 required: false -- cgit v1.2.1 From c95cb8ff8a8778c8a05e77dbc8534c069bfa8c94 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Wed, 16 Oct 2019 10:01:27 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ibd93f9756da71d1f6212266a99afa148c5093700 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 075b639..3bf43ff 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 3026c0630dedb2fd8744e4cd9505f90c86b1a1cd + ref: e3f5912747af1d46178886a0c5eaaddaf6d1a23b required: true ../qtdeclarative: - ref: b120a5be80329745374160bf0bf0f7ac76509883 + ref: 9793931e958c8e78f3aeed2d2cdb37b2d5ca8207 required: false -- cgit v1.2.1 From e51e2706cde34f8d172e11df6121ff37d73daffb Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Wed, 16 Oct 2019 17:01:30 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I1e071e29c101a329e52f2be8bb4a8b5d05b818d0 Reviewed-by: Simon Hausmann --- dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index 3bf43ff..719fc18 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,5 +3,5 @@ dependencies: ref: e3f5912747af1d46178886a0c5eaaddaf6d1a23b required: true ../qtdeclarative: - ref: 9793931e958c8e78f3aeed2d2cdb37b2d5ca8207 + ref: 62e3c7408061b76c9ca585651da4e45ac941fe87 required: false -- cgit v1.2.1 From e75821fd65ffc3ef1018c7b8618a9bbbe79f1d7e Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 17 Oct 2019 06:01:27 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I6ef6e94c9283801452b8f8014ea85ff45afecdd9 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 719fc18..33725d4 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: e3f5912747af1d46178886a0c5eaaddaf6d1a23b + ref: dc4212b3a694e143595968419ae5ad695ab2aa03 required: true ../qtdeclarative: - ref: 62e3c7408061b76c9ca585651da4e45ac941fe87 + ref: 6283720f03e84586501d247ffe41e863c6ce8633 required: false -- cgit v1.2.1 From e4e3bae09cbbe18185ee1c4a70f4c9607828f805 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 17 Oct 2019 21:00:22 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I9223d71e054b2d5571423de86fd78ec2c1958cf8 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 33725d4..9fcf366 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: dc4212b3a694e143595968419ae5ad695ab2aa03 + ref: 6f27bb135246b7fe9d11ba58e05d2b7661bc2080 required: true ../qtdeclarative: - ref: 6283720f03e84586501d247ffe41e863c6ce8633 + ref: a2cfa77fa2ef4830a9e79f137c33affc3d17c844 required: false -- cgit v1.2.1 From a8bbc056335719830a6b2746b7a85cfa2fd89164 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Mon, 14 Oct 2019 10:28:56 +0300 Subject: Add changes file for Qt 5.13.2 + 465c6c3914455e8ed20f938e5d4a35e6decb446c Add changes file for Qt 5.12.5 + 1deee2a4965fd7dc8a44c6d769519c4cbb11da4f Binary compatibility file against Qt5.13.0 for QtWebSockets + 24a9e0f961d84af037999771948d3d3d9c683a6c wasm: make sendBinaryMessage work in threaded mode Change-Id: I8a1c4a4cf79b9096c7cc735b936ca64e225faaff Reviewed-by: Alex Blasche --- dist/changes-5.13.2 | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 dist/changes-5.13.2 diff --git a/dist/changes-5.13.2 b/dist/changes-5.13.2 new file mode 100644 index 0000000..e3bb833 --- /dev/null +++ b/dist/changes-5.13.2 @@ -0,0 +1,20 @@ +Qt 5.13.2 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.13.0 through 5.13.1. + +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. + + - This release contains only minor code improvements. -- cgit v1.2.1 From 5116ac78bd70c0e1ff43ed6654c009e579954a6d Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 18 Oct 2019 08:00:21 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I66cbc1255c07f092800c48411436922862ed5795 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 9fcf366..0cf5470 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 6f27bb135246b7fe9d11ba58e05d2b7661bc2080 + ref: 2c47d532490778e382b342907259c6dd11525f23 required: true ../qtdeclarative: - ref: a2cfa77fa2ef4830a9e79f137c33affc3d17c844 + ref: c36b2c0abb47b816a271246beafd5f6583bbfb96 required: false -- cgit v1.2.1 From 1675e704d17efd7477e0c59da46358dcb9088493 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Mon, 21 Oct 2019 10:00:19 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Iaf9fc67d526c46cc8aa95cb28cdfca826ae7ad98 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 0cf5470..187f859 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 2c47d532490778e382b342907259c6dd11525f23 + ref: ab5153aa0b09320dc5c96aa2b5a564ea1e6dbed3 required: true ../qtdeclarative: - ref: c36b2c0abb47b816a271246beafd5f6583bbfb96 + ref: 74b9d94fc14eab083bbce17c12ba63e48cfc7eae required: false -- cgit v1.2.1 From 7df937ad193215df5b1d51bfa91bbdb6236837af Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 22 Oct 2019 10:50:57 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ifaa26be5b07d6c970984ed80a91845c9dfa32d28 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 187f859..a01102f 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: ab5153aa0b09320dc5c96aa2b5a564ea1e6dbed3 + ref: 8409844bd66f0186ed227a58db687f0d748ada22 required: true ../qtdeclarative: - ref: 74b9d94fc14eab083bbce17c12ba63e48cfc7eae + ref: 8dd994291ec8c40e772d5bdbbc9f73ee684f7be6 required: false -- cgit v1.2.1 From 89909902357725824d20a9daed069952a1891714 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 24 Sep 2019 12:50:43 +0200 Subject: Update plugins.qmltypes for 5.14 Task-number: QTBUG-78690 Change-Id: Ie1de2c3cf46edca2b1441ff94a9bb50cb507c057 Reviewed-by: Kai Koehne Reviewed-by: Ulf Hermann --- src/imports/qmlwebsockets/plugins.qmltypes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imports/qmlwebsockets/plugins.qmltypes b/src/imports/qmlwebsockets/plugins.qmltypes index 79e2f97..f1a5a2e 100644 --- a/src/imports/qmlwebsockets/plugins.qmltypes +++ b/src/imports/qmlwebsockets/plugins.qmltypes @@ -4,7 +4,7 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtWebSockets 1.13' +// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtWebSockets 1.14' Module { dependencies: [] -- cgit v1.2.1 From adc4df22f54ab243617bea8bcfadea11c6b2b71f Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 24 Oct 2019 18:01:25 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I4f75160336c14c748cec1db52c4cc1b994da9e80 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index a01102f..24a81df 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 8409844bd66f0186ed227a58db687f0d748ada22 + ref: 6e3b5801d26dc186066155202847342782bf653b required: true ../qtdeclarative: - ref: 8dd994291ec8c40e772d5bdbbc9f73ee684f7be6 + ref: 28213a0d6aca38f7f3d2b65d2a5e6a52fa1a7256 required: false -- cgit v1.2.1 From 9f824f8fd08642c5099c9a032628314858ce7fe2 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 26 Oct 2019 02:01:00 +0200 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I53224cf2feccd90894c3b753ecee1118b89e0598 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 24a81df..0f79759 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 6e3b5801d26dc186066155202847342782bf653b + ref: dff3843d98d52e2c32fea07371f91117de0667e9 required: true ../qtdeclarative: - ref: 28213a0d6aca38f7f3d2b65d2a5e6a52fa1a7256 + ref: 033e797aa5c58bb8f306f82292da272e60fa2fa1 required: false -- cgit v1.2.1 From 644272199791444e312b57529b8a3c3f05afb30d Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 29 Oct 2019 16:04:59 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ic83bbc995d2f5ccea1c84430873903e81841a2bf Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 0f79759..8ffab5b 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: dff3843d98d52e2c32fea07371f91117de0667e9 + ref: 7b3bdcbfe8a920c4c156e91324eb0b374533d42c required: true ../qtdeclarative: - ref: 033e797aa5c58bb8f306f82292da272e60fa2fa1 + ref: c7e67202d5e720f0b085d7f71477fd1c96fb7304 required: false -- cgit v1.2.1 From 3b219b8f354b68af2dafaf66305cc1affbc7fadd Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 31 Oct 2019 13:05:45 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I8f0400d2b418d62e2a97eb5ad599087fddd91846 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 8ffab5b..aaa1300 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 7b3bdcbfe8a920c4c156e91324eb0b374533d42c + ref: d273076b4474bb473d90e996960c4c773745761a required: true ../qtdeclarative: - ref: c7e67202d5e720f0b085d7f71477fd1c96fb7304 + ref: 893100fba3f3a2e4d4ffe108202fdac67a3d4357 required: false -- cgit v1.2.1 From e692eaa707633e541f74ffa6d78ab6abf9b0c70d Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 2 Nov 2019 10:02:30 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ibe3c16cb0fbc5cd38395e78374ce7ac602b2619a Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index aaa1300..74431fb 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: d273076b4474bb473d90e996960c4c773745761a + ref: 89f1f14c5e9a49f25345a65d81b3518d58ecb91a required: true ../qtdeclarative: - ref: 893100fba3f3a2e4d4ffe108202fdac67a3d4357 + ref: be5849947dcca4c0a451e7ca53814ace155d1ac6 required: false -- cgit v1.2.1 From 848cc8893ee0ea5c4b40d077da4e6d64df61fe06 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 2 Nov 2019 23:02:09 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I40e7a0accad962227aad432347c6d981c48d867d Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 74431fb..6b4a01c 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 89f1f14c5e9a49f25345a65d81b3518d58ecb91a + ref: ab6affac107cb97e7b6decbe55621259cb8a9b92 required: true ../qtdeclarative: - ref: be5849947dcca4c0a451e7ca53814ace155d1ac6 + ref: f97cc69a61b7056bddadcbbe7f6ee00623729b57 required: false -- cgit v1.2.1 From 16b517e9e7b673f527889d2817c568dbdf207e2e Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 5 Nov 2019 15:01:45 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I3c9211d1967e5b6c5e106177e57a47eddd85b1c0 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 6b4a01c..b20783d 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: ab6affac107cb97e7b6decbe55621259cb8a9b92 + ref: 43c964b8ada63942b5d239f60fdbca6f5773f678 required: true ../qtdeclarative: - ref: f97cc69a61b7056bddadcbbe7f6ee00623729b57 + ref: 8c9eb12274f9ee229ece1204f670716ca5a5c4c0 required: false -- cgit v1.2.1 From 11278cfc5263f5d683678722a6d2c614cc299988 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 8 Nov 2019 21:02:07 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I38ec1c73737752079c6f2f329881fb242349d1aa Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index b20783d..dbb8a3b 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 43c964b8ada63942b5d239f60fdbca6f5773f678 + ref: 35b5100302c9ff28a7ae286c6bca8de37683f270 required: true ../qtdeclarative: - ref: 8c9eb12274f9ee229ece1204f670716ca5a5c4c0 + ref: 02f9934f4dbb99932e3879d5a6a2ecfa96958f71 required: false -- cgit v1.2.1 From 5b34b19b0a37624a3f5846a949112929ef5feeeb Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Sat, 9 Nov 2019 18:44:04 +0100 Subject: Doc: Remove broken documentation comments QWebSocketServer::nativeDescriptor() and its setter were documented twice, with the duplicated versions under Qt6-specific version check macro and marked \deprecated. QDoc still parses those in Qt5 as it doesn't respect the version guards - remove the offending comments for now. Fixes: QTBUG-79816 Change-Id: Ie40190c9d32f91efd3428b7f884c9ad923a2bb0e Reviewed-by: Paul Wicking --- src/websockets/qwebsocketserver.cpp | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/src/websockets/qwebsocketserver.cpp b/src/websockets/qwebsocketserver.cpp index eafe3fd..b833503 100644 --- a/src/websockets/qwebsocketserver.cpp +++ b/src/websockets/qwebsocketserver.cpp @@ -656,31 +656,6 @@ qintptr QWebSocketServer::socketDescriptor() const return d->socketDescriptor(); } -/*! - \fn QWebSocketServer::nativeDescriptor - \deprecated - - Returns the native socket descriptor the server uses to listen for incoming instructions, - or -1 if the server is not listening. - If the server is using QNetworkProxy, the returned descriptor may not be usable with - native socket functions. - - \sa socketDescriptor(), setSocketDescriptor(), setNativeDescriptor(), isListening() - \since 5.12 - */ -/*! - \fn QWebSocketServer::setNativeDescriptor - \deprecated - - Sets the socket descriptor this server should use when listening for incoming connections to - \a socketDescriptor. - - Returns true if the socket is set successfully; otherwise returns false. - The socket is assumed to be in listening state. - - \sa socketDescriptor(), setSocketDescriptor(), nativeDescriptor(), isListening() - \since 5.12 - */ #else // ### Qt 6: Remove leftovers /*! \deprecated -- cgit v1.2.1 From 0f7f6f492d63d340e9fbe7b46b6479412d14f53c Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 12 Nov 2019 09:01:30 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I8dd62f342ef7dea2e0a6db63f8cd50e89bea78a0 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index dbb8a3b..b2e4f2e 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 35b5100302c9ff28a7ae286c6bca8de37683f270 + ref: 63a1a30a014eb75a67c390a16faa9aeb03a4a012 required: true ../qtdeclarative: - ref: 02f9934f4dbb99932e3879d5a6a2ecfa96958f71 + ref: 42a977f2c0a4a978bb746a6e340eebd1df062c25 required: false -- cgit v1.2.1 From 76a0d1326d4a0aa40a93d2cb01299ea3271fe265 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Wed, 13 Nov 2019 23:02:20 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Iff69650c8f3e33b10355a26229db8b1865e2adb0 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index b2e4f2e..595c054 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 63a1a30a014eb75a67c390a16faa9aeb03a4a012 + ref: a5f474b9bb42d7408284d99d96eb9dc510632293 required: true ../qtdeclarative: - ref: 42a977f2c0a4a978bb746a6e340eebd1df062c25 + ref: cd78e8cd862a819ae2683ed98a131f2582e18609 required: false -- cgit v1.2.1 From 26983aef39a702d2de7c519b5a3f7a8150c8beeb Mon Sep 17 00:00:00 2001 From: Lander Noterman Date: Fri, 15 Nov 2019 14:21:37 +0100 Subject: Don't add port in Host header unless specified MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No longer add port to Host header in WebSocket handshake unless it was explicitly specified in the URL. This change fixes issues with some WebSocket servers rejecting the connection if the Host header does not match the URL. Fixes: QTBUG-77526 Change-Id: I9b028ce434416e61cae7b217d2eafe621d2660b4 Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocket_p.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 36aefd9..bca4ccd 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -1099,9 +1099,6 @@ void QWebSocketPrivate::processStateChanged(QAbstractSocket::SocketState socketS Q_ASSERT(m_pSocket); Q_Q(QWebSocket); QAbstractSocket::SocketState webSocketState = this->state(); - int port = 80; - if (m_request.url().scheme() == QStringLiteral("wss")) - port = 443; switch (socketState) { case QAbstractSocket::ConnectedState: @@ -1120,11 +1117,10 @@ void QWebSocketPrivate::processStateChanged(QAbstractSocket::SocketState socketS const auto format = QUrl::RemoveScheme | QUrl::RemoveUserInfo | QUrl::RemovePath | QUrl::RemoveQuery - | QUrl::RemoveFragment | QUrl::RemovePort; + | QUrl::RemoveFragment; const QString host = m_request.url().toString(format).mid(2); const QString handshake = createHandShakeRequest(m_resourceName, - host % QStringLiteral(":") - % QString::number(m_request.url().port(port)), + host, origin(), QString(), QString(), -- cgit v1.2.1 From 3da3e1ded218da806404cff543e4f9f3e1d9a2a8 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 22 Nov 2019 12:01:15 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Id7ee3a6dbe7f76861b2261b315fbc74026c7b347 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 595c054..ddfa53c 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: a5f474b9bb42d7408284d99d96eb9dc510632293 + ref: 329eef34f4401e2303a60b70904c7f58ccf64af8 required: true ../qtdeclarative: - ref: cd78e8cd862a819ae2683ed98a131f2582e18609 + ref: 87e39e837b1db93059f832f9becf60a668923374 required: false -- cgit v1.2.1 From 6bd64eb0d0900bce57f5f9d5d09c6bac271fc6b5 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Mon, 25 Nov 2019 18:01:28 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I47164684ed881a22d2dd5b2ad9ce66f15ede42e6 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index ddfa53c..33a68d5 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 329eef34f4401e2303a60b70904c7f58ccf64af8 + ref: 03b1d2c44940322208c12c7bceee376b51d8e852 required: true ../qtdeclarative: - ref: 87e39e837b1db93059f832f9becf60a668923374 + ref: a4adadc5191ccd855274cdd890f72d0382426dba required: false -- cgit v1.2.1 From 9ef6658541c2e816b8119df98c1b66add5b7bcdd Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Mon, 18 Nov 2019 13:01:23 +0200 Subject: Add changes file for Qt 5.14.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ic759bffc47f236217fde5db2c33260577366efc1 Reviewed-by: Mårten Nordheim Reviewed-by: Timur Pocheptsov --- dist/changes-5.14.0 | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 dist/changes-5.14.0 diff --git a/dist/changes-5.14.0 b/dist/changes-5.14.0 new file mode 100644 index 0000000..41322ed --- /dev/null +++ b/dist/changes-5.14.0 @@ -0,0 +1,35 @@ +Qt 5.14 introduces many new features and improvements as well as bugfixes +over the 5.13.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.14 series is binary compatible with the 5.13.x series. +Applications compiled for 5.13 will continue to run with 5.14. + +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. + +**************************************************************************** +* QWebSocket * +**************************************************************************** + + - [QTBUG-74464] QWebSocket no longer marks the connection as timed out + if it cannot read a whole message within 5 seconds. It will also no + longer block for up to 5 seconds when receiving a message. + +**************************************************************************** +* QWebSocketServer * +**************************************************************************** + + - [QTBUG-57026] [QTBUG-63312] Handshake timeout + * Added a timeout to the websocket handshake, 10 seconds by default. + * Call setHandshakeTimeout() to change the maximum duration. + Negative values mean it will not time out. + * handshakeTimeout() and handshakeTimeoutMS() can be used to query the + current timeout duration. -- cgit v1.2.1 From 0dcf736263cdde3a4a1b8e352e38726beae0c808 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 26 Nov 2019 10:01:56 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I233416b8d4b357cdbfd788e06100c9214073ce85 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 33a68d5..259726d 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 03b1d2c44940322208c12c7bceee376b51d8e852 + ref: 108e73602d60904b204cc71e9daaee084c66ce7b required: true ../qtdeclarative: - ref: a4adadc5191ccd855274cdd890f72d0382426dba + ref: 73a77593d5f5937624eb7e98ccc86e5fdc2f77d3 required: false -- cgit v1.2.1 From 92cec7af3ee88673d58e70e5b9a84a0cf55aa734 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Mon, 25 Nov 2019 20:41:39 +0100 Subject: Cleanup QWebSocketFrame MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove QWebSocketFrame assignment and move stuff by our own - the default ones are good. Also reorder the members to reduce the padding (56 to 48 bytes on 64bits). Change-Id: Ib4628628af924c36ad3cd9bf67ce72752ef97ff5 Reviewed-by: Timur Pocheptsov Reviewed-by: André Hartmann Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocketframe.cpp | 122 --------------------- src/websockets/qwebsocketframe_p.h | 40 +++---- .../websocketframe/tst_websocketframe.cpp | 26 ++--- 3 files changed, 26 insertions(+), 162 deletions(-) diff --git a/src/websockets/qwebsocketframe.cpp b/src/websockets/qwebsocketframe.cpp index 11373a7..cfa63ed 100644 --- a/src/websockets/qwebsocketframe.cpp +++ b/src/websockets/qwebsocketframe.cpp @@ -61,128 +61,6 @@ QT_BEGIN_NAMESPACE -/*! - \internal - */ -QWebSocketFrame::QWebSocketFrame() : - m_closeCode(QWebSocketProtocol::CloseCodeNormal), - m_closeReason(), - m_mask(0), - m_opCode(QWebSocketProtocol::OpCodeReservedC), - m_length(0), - m_payload(), - m_isFinalFrame(true), - m_rsv1(false), - m_rsv2(false), - m_rsv3(false), - m_isValid(false) -{ -} - -/*! - \internal - */ -QWebSocketFrame::QWebSocketFrame(const QWebSocketFrame &other) : - m_closeCode(other.m_closeCode), - m_closeReason(other.m_closeReason), - m_mask(other.m_mask), - m_opCode(other.m_opCode), - m_length(other.m_length), - m_payload(other.m_payload), - m_isFinalFrame(other.m_isFinalFrame), - m_rsv1(other.m_rsv1), - m_rsv2(other.m_rsv2), - m_rsv3(other.m_rsv3), - m_isValid(other.m_isValid), - m_processingState(other.m_processingState) -{ -} - -/*! - \internal - */ -QWebSocketFrame &QWebSocketFrame::operator =(const QWebSocketFrame &other) -{ - m_closeCode = other.m_closeCode; - m_closeReason = other.m_closeReason; - m_isFinalFrame = other.m_isFinalFrame; - m_mask = other.m_mask; - m_rsv1 = other.m_rsv1; - m_rsv2 = other.m_rsv2; - m_rsv3 = other.m_rsv3; - m_opCode = other.m_opCode; - m_length = other.m_length; - m_payload = other.m_payload; - m_isValid = other.m_isValid; - m_processingState = other.m_processingState; - - return *this; -} - -#ifdef Q_COMPILER_RVALUE_REFS -/*! - \internal - */ -QWebSocketFrame::QWebSocketFrame(QWebSocketFrame &&other) : - m_closeCode(qMove(other.m_closeCode)), - m_closeReason(qMove(other.m_closeReason)), - m_mask(qMove(other.m_mask)), - m_opCode(qMove(other.m_opCode)), - m_length(qMove(other.m_length)), - m_payload(qMove(other.m_payload)), - m_isFinalFrame(qMove(other.m_isFinalFrame)), - m_rsv1(qMove(other.m_rsv1)), - m_rsv2(qMove(other.m_rsv2)), - m_rsv3(qMove(other.m_rsv3)), - m_isValid(qMove(other.m_isValid)), - m_processingState(qMove(other.m_processingState)) -{} - - -/*! - \internal - */ -QWebSocketFrame &QWebSocketFrame::operator =(QWebSocketFrame &&other) -{ - qSwap(m_closeCode, other.m_closeCode); - qSwap(m_closeReason, other.m_closeReason); - qSwap(m_isFinalFrame, other.m_isFinalFrame); - qSwap(m_mask, other.m_mask); - qSwap(m_rsv1, other.m_rsv1); - qSwap(m_rsv2, other.m_rsv2); - qSwap(m_rsv3, other.m_rsv3); - qSwap(m_opCode, other.m_opCode); - qSwap(m_length, other.m_length); - qSwap(m_payload, other.m_payload); - qSwap(m_isValid, other.m_isValid); - qSwap(m_processingState, other.m_processingState); - - return *this; -} - -#endif - -/*! - \internal - */ -void QWebSocketFrame::swap(QWebSocketFrame &other) -{ - if (&other != this) { - qSwap(m_closeCode, other.m_closeCode); - qSwap(m_closeReason, other.m_closeReason); - qSwap(m_isFinalFrame, other.m_isFinalFrame); - qSwap(m_mask, other.m_mask); - qSwap(m_rsv1, other.m_rsv1); - qSwap(m_rsv2, other.m_rsv2); - qSwap(m_rsv3, other.m_rsv3); - qSwap(m_opCode, other.m_opCode); - qSwap(m_length, other.m_length); - qSwap(m_payload, other.m_payload); - qSwap(m_isValid, other.m_isValid); - qSwap(m_processingState, other.m_processingState); - } -} - /*! \internal */ diff --git a/src/websockets/qwebsocketframe_p.h b/src/websockets/qwebsocketframe_p.h index e2b4e9f..a8b9684 100644 --- a/src/websockets/qwebsocketframe_p.h +++ b/src/websockets/qwebsocketframe_p.h @@ -54,7 +54,7 @@ #include #include #include -#include +#include #include "qwebsockets_global.h" #include "qwebsocketprotocol.h" @@ -64,25 +64,15 @@ QT_BEGIN_NAMESPACE class QIODevice; -const quint64 MAX_FRAME_SIZE_IN_BYTES = INT_MAX - 1; -const quint64 MAX_MESSAGE_SIZE_IN_BYTES = INT_MAX - 1; +const quint64 MAX_FRAME_SIZE_IN_BYTES = std::numeric_limits::max() - 1; +const quint64 MAX_MESSAGE_SIZE_IN_BYTES = std::numeric_limits::max() - 1; class Q_AUTOTEST_EXPORT QWebSocketFrame { Q_DECLARE_TR_FUNCTIONS(QWebSocketFrame) public: - QWebSocketFrame(); - QWebSocketFrame(const QWebSocketFrame &other); - - QWebSocketFrame &operator =(const QWebSocketFrame &other); - -#ifdef Q_COMPILER_RVALUE_REFS - QWebSocketFrame(QWebSocketFrame &&other); - QWebSocketFrame &operator =(QWebSocketFrame &&other); -#endif - - void swap(QWebSocketFrame &other); + QWebSocketFrame() = default; QWebSocketProtocol::CloseCode closeCode() const; QString closeReason() const; @@ -106,18 +96,12 @@ public: void readFrame(QIODevice *pIoDevice); private: - QWebSocketProtocol::CloseCode m_closeCode; QString m_closeReason; - quint32 m_mask; - QWebSocketProtocol::OpCode m_opCode; - quint64 m_length; QByteArray m_payload; - - bool m_isFinalFrame; - bool m_rsv1; - bool m_rsv2; - bool m_rsv3; - bool m_isValid; + quint64 m_length = 0; + quint32 m_mask = 0; + QWebSocketProtocol::CloseCode m_closeCode = QWebSocketProtocol::CloseCodeNormal; + QWebSocketProtocol::OpCode m_opCode = QWebSocketProtocol::OpCodeReservedC; enum ProcessingState { @@ -127,7 +111,13 @@ private: PS_READ_PAYLOAD, PS_DISPATCH_RESULT, PS_WAIT_FOR_MORE_DATA - } m_processingState{PS_READ_HEADER}; + } m_processingState = PS_READ_HEADER; + + bool m_isFinalFrame = true; + bool m_rsv1 = false; + bool m_rsv2 = false; + bool m_rsv3 = false; + bool m_isValid = false; ProcessingState readFrameHeader(QIODevice *pIoDevice); ProcessingState readFramePayloadLength(QIODevice *pIoDevice); diff --git a/tests/auto/websockets/websocketframe/tst_websocketframe.cpp b/tests/auto/websockets/websocketframe/tst_websocketframe.cpp index 6b9aaaf..bbf0e5f 100644 --- a/tests/auto/websockets/websocketframe/tst_websocketframe.cpp +++ b/tests/auto/websockets/websocketframe/tst_websocketframe.cpp @@ -201,8 +201,8 @@ void tst_WebSocketFrame::tst_copyConstructorAndAssignment() frame.readFrame(&buffer); buffer.close(); + auto compareFrames = [](const QWebSocketFrame &other, const QWebSocketFrame &frame) { - QWebSocketFrame other(frame); QCOMPARE(other.closeCode(), frame.closeCode()); QCOMPARE(other.closeReason(), frame.closeReason()); QCOMPARE(other.hasMask(), frame.hasMask()); @@ -217,24 +217,20 @@ void tst_WebSocketFrame::tst_copyConstructorAndAssignment() QCOMPARE(other.rsv1(), frame.rsv1()); QCOMPARE(other.rsv2(), frame.rsv2()); QCOMPARE(other.rsv3(), frame.rsv3()); + }; + + { + QWebSocketFrame other(frame); + compareFrames(other, frame); } { QWebSocketFrame other; other = frame; - QCOMPARE(other.closeCode(), frame.closeCode()); - QCOMPARE(other.closeReason(), frame.closeReason()); - QCOMPARE(other.hasMask(), frame.hasMask()); - QCOMPARE(other.isContinuationFrame(), frame.isContinuationFrame()); - QCOMPARE(other.isControlFrame(), frame.isControlFrame()); - QCOMPARE(other.isDataFrame(), frame.isDataFrame()); - QCOMPARE(other.isFinalFrame(), frame.isFinalFrame()); - QCOMPARE(other.isValid(), frame.isValid()); - QCOMPARE(other.mask(), frame.mask()); - QCOMPARE(other.opCode(), frame.opCode()); - QCOMPARE(other.payload(), frame.payload()); - QCOMPARE(other.rsv1(), frame.rsv1()); - QCOMPARE(other.rsv2(), frame.rsv2()); - QCOMPARE(other.rsv3(), frame.rsv3()); + compareFrames(other, frame); + QWebSocketFrame other2 = std::move(other); + compareFrames(other2, frame); + QWebSocketFrame other3(std::move(other2)); + compareFrames(other3, frame); } } -- cgit v1.2.1 From e520f9009af9a0d31fa534d79bc90dad0d020747 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 28 Nov 2019 04:01:49 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I8c90032bf6823a9481c10dbad614f87b81a40c30 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 259726d..2b7d060 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 108e73602d60904b204cc71e9daaee084c66ce7b + ref: 43f341a13745473cf181cfe6a6ef4725aa2f88eb required: true ../qtdeclarative: - ref: 73a77593d5f5937624eb7e98ccc86e5fdc2f77d3 + ref: 682b9e63c99dd4a22918f48f4360a829fcfdd336 required: false -- cgit v1.2.1 From cea5603ee1a56bb5d177f35ed3f884345875099e Mon Sep 17 00:00:00 2001 From: Franck Dude Date: Sat, 7 Dec 2019 16:46:52 +0100 Subject: Fix websocket handshake request header parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Header ends with \r\n\r\n but there might be more data inside the tcpbuffer Never read past the header Task-number: QTBUG-70000 Change-Id: If3d4cb362646e43a91faf00f89e50510ff00fa56 Reviewed-by: Mårten Nordheim Reviewed-by: Timur Pocheptsov --- src/websockets/qwebsocket_p.cpp | 6 +++++- src/websockets/qwebsocket_p.h | 2 +- src/websockets/qwebsocketserver_p.cpp | 33 +++++++++++++++++++++++++++------ 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 36aefd9..c9dbb1f 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -569,7 +569,7 @@ void QWebSocketPrivate::enableMasking(bool enable) /*! * \internal */ -void QWebSocketPrivate::makeConnections(const QTcpSocket *pTcpSocket) +void QWebSocketPrivate::makeConnections(QTcpSocket *pTcpSocket) { Q_ASSERT(pTcpSocket); Q_Q(QWebSocket); @@ -636,6 +636,10 @@ void QWebSocketPrivate::makeConnections(const QTcpSocket *pTcpSocket) &QWebSocketPrivate::processPong); QObjectPrivate::connect(&m_dataProcessor, &QWebSocketDataProcessor::closeReceived, this, &QWebSocketPrivate::processClose); + + //fire readyread, in case we already have data inside the tcpSocket + if (pTcpSocket->bytesAvailable()) + Q_EMIT pTcpSocket->readyRead(); } /*! diff --git a/src/websockets/qwebsocket_p.h b/src/websockets/qwebsocket_p.h index e72daa5..1db1077 100644 --- a/src/websockets/qwebsocket_p.h +++ b/src/websockets/qwebsocket_p.h @@ -182,7 +182,7 @@ private: Q_REQUIRED_RESULT qint64 doWriteFrames(const QByteArray &data, bool isBinary); - void makeConnections(const QTcpSocket *pTcpSocket); + void makeConnections(QTcpSocket *pTcpSocket); void releaseConnections(const QTcpSocket *pTcpSocket); QByteArray getFrameHeader(QWebSocketProtocol::OpCode opCode, quint64 payloadLength, diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 8225b59..574adf5 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -430,9 +430,16 @@ void QWebSocketServerPrivate::handshakeReceived() //This is a bug in FireFox (see https://bugzilla.mozilla.org/show_bug.cgi?id=594502) // According to RFC822 the body is separated from the headers by a null line (CRLF) - if (!pTcpSocket->peek(pTcpSocket->bytesAvailable()).endsWith(QByteArrayLiteral("\r\n\r\n"))) { + const QByteArray& endOfHeaderMarker = QByteArrayLiteral("\r\n\r\n"); + + QByteArray header = pTcpSocket->peek(pTcpSocket->bytesAvailable()); + const int endOfHeaderIndex = header.indexOf(endOfHeaderMarker); + if (endOfHeaderIndex < 0) { + //then we don't have our header complete yet return; } + const int headerSize = endOfHeaderIndex + endOfHeaderMarker.size(); + disconnect(pTcpSocket, &QTcpSocket::readyRead, this, &QWebSocketServerPrivate::handshakeReceived); bool success = false; @@ -446,8 +453,20 @@ void QWebSocketServerPrivate::handshakeReceived() return; } + //don't read past the header + header.resize(headerSize); + //remove our header from the tcpSocket + qint64 skippedSize = pTcpSocket->skip(headerSize); + + if (skippedSize != headerSize) { + pTcpSocket->close(); + setError(QWebSocketProtocol::CloseCodeProtocolError, + QWebSocketServer::tr("Read handshake request header failed.")); + return; + } + QWebSocketHandshakeRequest request(pTcpSocket->peerPort(), isSecure); - QTextStream textStream(pTcpSocket); + QTextStream textStream(header, QIODevice::ReadOnly); request.readHandshake(textStream, MAX_HEADERLINE_LENGTH, MAX_HEADERLINES); if (request.isValid()) { @@ -501,11 +520,13 @@ void QWebSocketServerPrivate::handleConnection(QTcpSocket *pTcpSocket) const QObjectPrivate::connect(pTcpSocket, &QTcpSocket::readyRead, this, &QWebSocketServerPrivate::handshakeReceived, Qt::QueuedConnection); - if (pTcpSocket->canReadLine()) { - // We received some data! We must emit now to be sure that handshakeReceived is called - // since the data could have been received before the signal and slot was connected. - emit pTcpSocket->readyRead(); + + // We received some data! We must emit now to be sure that handshakeReceived is called + // since the data could have been received before the signal and slot was connected. + if (pTcpSocket->bytesAvailable()) { + Q_EMIT pTcpSocket->readyRead(); } + QObjectPrivate::connect(pTcpSocket, &QTcpSocket::disconnected, this, &QWebSocketServerPrivate::onSocketDisconnected); } -- cgit v1.2.1 From db472ab205b37f44cb2d65ad861152cb9f48f2e8 Mon Sep 17 00:00:00 2001 From: Franck Dude Date: Sat, 7 Dec 2019 17:37:08 +0100 Subject: Add protection against handshake header too large MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-70691 Change-Id: I54b9f7157e5830b9efd8bae7d4777218857249b1 Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocketserver_p.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 574adf5..1009f52 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -432,10 +432,18 @@ void QWebSocketServerPrivate::handshakeReceived() // According to RFC822 the body is separated from the headers by a null line (CRLF) const QByteArray& endOfHeaderMarker = QByteArrayLiteral("\r\n\r\n"); - QByteArray header = pTcpSocket->peek(pTcpSocket->bytesAvailable()); + const qint64 byteAvailable = pTcpSocket->bytesAvailable(); + QByteArray header = pTcpSocket->peek(byteAvailable); const int endOfHeaderIndex = header.indexOf(endOfHeaderMarker); if (endOfHeaderIndex < 0) { //then we don't have our header complete yet + //check that no one is trying to exhaust our virtual memory + const qint64 maxHeaderLength = MAX_HEADERLINE_LENGTH * MAX_HEADERLINES + endOfHeaderMarker.size(); + if (byteAvailable > maxHeaderLength) { + pTcpSocket->close(); + setError(QWebSocketProtocol::CloseCodeTooMuchData, + QWebSocketServer::tr("Header is too large.")); + } return; } const int headerSize = endOfHeaderIndex + endOfHeaderMarker.size(); -- cgit v1.2.1 From 3aab83b37baf03daa2aa97a708831d1f7dce8de0 Mon Sep 17 00:00:00 2001 From: Franck Dude Date: Sat, 7 Dec 2019 16:19:07 +0100 Subject: Remove extra deleteLater (already done in onSocketDisconnected) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I671d93ccd766fed4fff797930804ab748cbb27a1 Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocketserver_p.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 8225b59..966126d 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -440,7 +440,6 @@ void QWebSocketServerPrivate::handshakeReceived() if (m_pendingConnections.length() >= maxPendingConnections()) { pTcpSocket->close(); - pTcpSocket->deleteLater(); setError(QWebSocketProtocol::CloseCodeAbnormalDisconnection, QWebSocketServer::tr("Too many pending connections.")); return; -- cgit v1.2.1 From 59ad9ecf70fef2032dea01330d276c1fac20b724 Mon Sep 17 00:00:00 2001 From: Milla Pohjanheimo Date: Thu, 12 Dec 2019 15:25:26 +0200 Subject: Add binary compatibility file for qtwebsockets 5.14 branch BC file built against 5.14.0 added. Change-Id: Ib72e1fd443bf88cec944ab451edcc43ca070a135 Reviewed-by: Simon Hausmann --- .../data/QtWebSockets.5.14.0.linux-gcc-amd64.txt | 6021 ++++++++++++++++++++ 1 file changed, 6021 insertions(+) create mode 100644 tests/auto/bic/data/QtWebSockets.5.14.0.linux-gcc-amd64.txt diff --git a/tests/auto/bic/data/QtWebSockets.5.14.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtWebSockets.5.14.0.linux-gcc-amd64.txt new file mode 100644 index 0000000..2741c7e --- /dev/null +++ b/tests/auto/bic/data/QtWebSockets.5.14.0.linux-gcc-amd64.txt @@ -0,0 +1,6021 @@ +Class std::__failure_type + size=1 align=1 + base size=0 base align=1 +std::__failure_type (0x0x7f4a4dbb05a0) 0 empty + +Class std::__do_is_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_destructible_impl (0x0x7f4a4dc02d20) 0 empty + +Class std::__do_is_nt_destructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nt_destructible_impl (0x0x7f4a4dc02f60) 0 empty + +Class std::__do_is_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_default_constructible_impl (0x0x7f4a4dc2f1e0) 0 empty + +Class std::__do_is_static_castable_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_static_castable_impl (0x0x7f4a4dc2f420) 0 empty + +Class std::__do_is_direct_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_direct_constructible_impl (0x0x7f4a4dc2f5a0) 0 empty + +Class std::__do_is_nary_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_nary_constructible_impl (0x0x7f4a4dc2f960) 0 empty + +Class std::__do_is_implicitly_default_constructible_impl + size=1 align=1 + base size=0 base align=1 +std::__do_is_implicitly_default_constructible_impl (0x0x7f4a4dc6aa80) 0 empty + +Class std::__do_common_type_impl + size=1 align=1 + base size=0 base align=1 +std::__do_common_type_impl (0x0x7f4a4d8ef180) 0 empty + +Class std::__do_member_type_wrapper + size=1 align=1 + base size=0 base align=1 +std::__do_member_type_wrapper (0x0x7f4a4d8ef240) 0 empty + +Class std::__invoke_memfun_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_ref (0x0x7f4a4d8ef600) 0 empty + +Class std::__invoke_memfun_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memfun_deref (0x0x7f4a4d8ef660) 0 empty + +Class std::__invoke_memobj_ref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_ref (0x0x7f4a4d8ef6c0) 0 empty + +Class std::__invoke_memobj_deref + size=1 align=1 + base size=0 base align=1 +std::__invoke_memobj_deref (0x0x7f4a4d8ef720) 0 empty + +Class std::__invoke_other + size=1 align=1 + base size=0 base align=1 +std::__invoke_other (0x0x7f4a4d8ef780) 0 empty + +Class std::__result_of_memfun_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_ref_impl (0x0x7f4a4d8ef840) 0 empty + +Class std::__result_of_memfun_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memfun_deref_impl (0x0x7f4a4d8ef900) 0 empty + +Class std::__result_of_memobj_ref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_ref_impl (0x0x7f4a4d8ef9c0) 0 empty + +Class std::__result_of_memobj_deref_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_memobj_deref_impl (0x0x7f4a4d8efa80) 0 empty + +Class std::__result_of_other_impl + size=1 align=1 + base size=0 base align=1 +std::__result_of_other_impl (0x0x7f4a4d8efde0) 0 empty + +Class std::__swappable_details::__do_is_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_swappable_impl (0x0x7f4a4d92d180) 0 empty + +Class std::__swappable_details::__do_is_nothrow_swappable_impl + size=1 align=1 + base size=0 base align=1 +std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f4a4d92d1e0) 0 empty + +Class std::__nonesuch + size=1 align=1 + base size=0 base align=1 +std::__nonesuch (0x0x7f4a4d92d780) 0 empty + +Class std::piecewise_construct_t + size=1 align=1 + base size=0 base align=1 +std::piecewise_construct_t (0x0x7f4a4d92dde0) 0 empty + +Class std::__nonesuch_no_braces + size=1 align=1 + base size=1 base align=1 +std::__nonesuch_no_braces (0x0x7f4a4d94e0d0) 0 empty + std::__nonesuch (0x0x7f4a4d971300) 0 empty + +Class std::__true_type + size=1 align=1 + base size=0 base align=1 +std::__true_type (0x0x7f4a4d9bcc60) 0 empty + +Class std::__false_type + size=1 align=1 + base size=0 base align=1 +std::__false_type (0x0x7f4a4d9bccc0) 0 empty + +Class std::input_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::input_iterator_tag (0x0x7f4a4da199c0) 0 empty + +Class std::output_iterator_tag + size=1 align=1 + base size=0 base align=1 +std::output_iterator_tag (0x0x7f4a4da19a20) 0 empty + +Class std::forward_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::forward_iterator_tag (0x0x7f4a4d94e5b0) 0 empty + std::input_iterator_tag (0x0x7f4a4da19a80) 0 empty + +Class std::bidirectional_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::bidirectional_iterator_tag (0x0x7f4a4d94e618) 0 empty + std::forward_iterator_tag (0x0x7f4a4d94e680) 0 empty + std::input_iterator_tag (0x0x7f4a4da19ae0) 0 empty + +Class std::random_access_iterator_tag + size=1 align=1 + base size=1 base align=1 +std::random_access_iterator_tag (0x0x7f4a4d94e6e8) 0 empty + std::bidirectional_iterator_tag (0x0x7f4a4d94e750) 0 empty + std::forward_iterator_tag (0x0x7f4a4d94e7b8) 0 empty + std::input_iterator_tag (0x0x7f4a4da19b40) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_iter (0x0x7f4a4dacb660) 0 empty + +Class __gnu_cxx::__ops::_Iter_less_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_less_val (0x0x7f4a4dacb780) 0 empty + +Class __gnu_cxx::__ops::_Val_less_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Val_less_iter (0x0x7f4a4dacba80) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_iter + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f4a4dacbd80) 0 empty + +Class __gnu_cxx::__ops::_Iter_equal_to_val + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f4a4dacbea0) 0 empty + +Class __locale_struct + size=232 align=8 + base size=232 base align=8 +__locale_struct (0x0x7f4a4d7861e0) 0 + +Class timeval + size=16 align=8 + base size=16 base align=8 +timeval (0x0x7f4a4d7864e0) 0 + +Class timespec + size=16 align=8 + base size=16 base align=8 +timespec (0x0x7f4a4d786540) 0 + +Class __pthread_rwlock_arch_t + size=56 align=8 + base size=56 base align=8 +__pthread_rwlock_arch_t (0x0x7f4a4d786600) 0 + +Class __pthread_internal_list + size=16 align=8 + base size=16 base align=8 +__pthread_internal_list (0x0x7f4a4d786660) 0 + +Class __pthread_mutex_s + size=40 align=8 + base size=40 base align=8 +__pthread_mutex_s (0x0x7f4a4d7866c0) 0 + +Class __pthread_cond_s + size=48 align=8 + base size=48 base align=8 +__pthread_cond_s (0x0x7f4a4d786720) 0 + +Class pthread_attr_t + size=56 align=8 + base size=56 base align=8 +pthread_attr_t (0x0x7f4a4d7869c0) 0 + +Class random_data + size=48 align=8 + base size=48 base align=8 +random_data (0x0x7f4a4d786c60) 0 + +Class drand48_data + size=24 align=8 + base size=24 base align=8 +drand48_data (0x0x7f4a4d786cc0) 0 + +Vtable for std::exception +std::exception::_ZTVSt9exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9exception) +16 (int (*)(...))std::exception::~exception +24 (int (*)(...))std::exception::~exception +32 (int (*)(...))std::exception::what + +Class std::exception + size=8 align=8 + base size=8 base align=8 +std::exception (0x0x7f4a4d850a80) 0 nearly-empty + vptr=((& std::exception::_ZTVSt9exception) + 16) + +Vtable for std::bad_exception +std::bad_exception::_ZTVSt13bad_exception: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13bad_exception) +16 (int (*)(...))std::bad_exception::~bad_exception +24 (int (*)(...))std::bad_exception::~bad_exception +32 (int (*)(...))std::bad_exception::what + +Class std::bad_exception + size=8 align=8 + base size=8 base align=8 +std::bad_exception (0x0x7f4a4d94eaf8) 0 nearly-empty + vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16) + std::exception (0x0x7f4a4d850c60) 0 nearly-empty + primary-for std::bad_exception (0x0x7f4a4d94eaf8) + +Vtable for std::type_info +std::type_info::_ZTVSt9type_info: 8 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9type_info) +16 (int (*)(...))std::type_info::~type_info +24 (int (*)(...))std::type_info::~type_info +32 (int (*)(...))std::type_info::__is_pointer_p +40 (int (*)(...))std::type_info::__is_function_p +48 (int (*)(...))std::type_info::__do_catch +56 (int (*)(...))std::type_info::__do_upcast + +Class std::type_info + size=16 align=8 + base size=16 base align=8 +std::type_info (0x0x7f4a4d850e40) 0 + vptr=((& std::type_info::_ZTVSt9type_info) + 16) + +Vtable for std::bad_cast +std::bad_cast::_ZTVSt8bad_cast: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8bad_cast) +16 (int (*)(...))std::bad_cast::~bad_cast +24 (int (*)(...))std::bad_cast::~bad_cast +32 (int (*)(...))std::bad_cast::what + +Class std::bad_cast + size=8 align=8 + base size=8 base align=8 +std::bad_cast (0x0x7f4a4d94eb60) 0 nearly-empty + vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16) + std::exception (0x0x7f4a4d88a240) 0 nearly-empty + primary-for std::bad_cast (0x0x7f4a4d94eb60) + +Vtable for std::bad_typeid +std::bad_typeid::_ZTVSt10bad_typeid: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt10bad_typeid) +16 (int (*)(...))std::bad_typeid::~bad_typeid +24 (int (*)(...))std::bad_typeid::~bad_typeid +32 (int (*)(...))std::bad_typeid::what + +Class std::bad_typeid + size=8 align=8 + base size=8 base align=8 +std::bad_typeid (0x0x7f4a4d94ebc8) 0 nearly-empty + vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16) + std::exception (0x0x7f4a4d88a420) 0 nearly-empty + primary-for std::bad_typeid (0x0x7f4a4d94ebc8) + +Class std::__exception_ptr::exception_ptr + size=8 align=8 + base size=8 base align=8 +std::__exception_ptr::exception_ptr (0x0x7f4a4d88a600) 0 + +Vtable for std::nested_exception +std::nested_exception::_ZTVSt16nested_exception: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16nested_exception) +16 (int (*)(...))std::nested_exception::~nested_exception +24 (int (*)(...))std::nested_exception::~nested_exception + +Class std::nested_exception + size=16 align=8 + base size=16 base align=8 +std::nested_exception (0x0x7f4a4d88aba0) 0 + vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16) + +Vtable for std::bad_alloc +std::bad_alloc::_ZTVSt9bad_alloc: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt9bad_alloc) +16 (int (*)(...))std::bad_alloc::~bad_alloc +24 (int (*)(...))std::bad_alloc::~bad_alloc +32 (int (*)(...))std::bad_alloc::what + +Class std::bad_alloc + size=8 align=8 + base size=8 base align=8 +std::bad_alloc (0x0x7f4a4d94ec30) 0 nearly-empty + vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16) + std::exception (0x0x7f4a4d8b82a0) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f4a4d94ec30) + +Vtable for std::bad_array_new_length +std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt20bad_array_new_length) +16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length +32 (int (*)(...))std::bad_array_new_length::what + +Class std::bad_array_new_length + size=8 align=8 + base size=8 base align=8 +std::bad_array_new_length (0x0x7f4a4d94ec98) 0 nearly-empty + vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16) + std::bad_alloc (0x0x7f4a4d94ed00) 0 nearly-empty + primary-for std::bad_array_new_length (0x0x7f4a4d94ec98) + std::exception (0x0x7f4a4d8b8480) 0 nearly-empty + primary-for std::bad_alloc (0x0x7f4a4d94ed00) + +Class std::nothrow_t + size=1 align=1 + base size=0 base align=1 +std::nothrow_t (0x0x7f4a4d8b8660) 0 empty + +Class std::__allocator_traits_base + size=1 align=1 + base size=0 base align=1 +std::__allocator_traits_base (0x0x7f4a4d8b8840) 0 empty + +Class std::__numeric_limits_base + size=1 align=1 + base size=0 base align=1 +std::__numeric_limits_base (0x0x7f4a4d533d20) 0 empty + +Class QSysInfo + size=1 align=1 + base size=0 base align=1 +QSysInfo (0x0x7f4a4d1cd2a0) 0 empty + +Class QMessageLogContext + size=32 align=8 + base size=32 base align=8 +QMessageLogContext (0x0x7f4a4d1cd3c0) 0 + +Class QMessageLogger + size=32 align=8 + base size=32 base align=8 +QMessageLogger (0x0x7f4a4d1cd5a0) 0 + +Class QFlag + size=4 align=4 + base size=4 base align=4 +QFlag (0x0x7f4a4d1cdc60) 0 + +Class QIncompatibleFlag + size=4 align=4 + base size=4 base align=4 +QIncompatibleFlag (0x0x7f4a4d24a420) 0 + +Class std::__atomic_flag_base + size=1 align=1 + base size=1 base align=1 +std::__atomic_flag_base (0x0x7f4a4cede900) 0 + +Class std::atomic_flag + size=1 align=1 + base size=1 base align=1 +std::atomic_flag (0x0x7f4a4d281b60) 0 + std::__atomic_flag_base (0x0x7f4a4cede960) 0 + +Class QAtomicInt + size=4 align=4 + base size=4 base align=4 +QAtomicInt (0x0x7f4a4cd012d8) 0 + QAtomicInteger (0x0x7f4a4cd01340) 0 + QBasicAtomicInteger (0x0x7f4a4ce17ba0) 0 + +Class QInternal + size=1 align=1 + base size=0 base align=1 +QInternal (0x0x7f4a4ca6a720) 0 empty + +Class QtPrivate::QSlotObjectBase + size=16 align=8 + base size=16 base align=8 +QtPrivate::QSlotObjectBase (0x0x7f4a4ca9acc0) 0 + +Class QGenericArgument + size=16 align=8 + base size=16 base align=8 +QGenericArgument (0x0x7f4a4c6e8420) 0 + +Class QGenericReturnArgument + size=16 align=8 + base size=16 base align=8 +QGenericReturnArgument (0x0x7f4a4cc0ff70) 0 + QGenericArgument (0x0x7f4a4c6e86c0) 0 + +Class QMetaObject::SuperData + size=8 align=8 + base size=8 base align=8 +QMetaObject::SuperData (0x0x7f4a4c6e8b40) 0 + +Class QMetaObject + size=48 align=8 + base size=48 base align=8 +QMetaObject (0x0x7f4a4c6e8ae0) 0 + +Class QMetaObject::Connection + size=8 align=8 + base size=8 base align=8 +QMetaObject::Connection (0x0x7f4a4c73b420) 0 + +Class QLatin1Char + size=1 align=1 + base size=1 base align=1 +QLatin1Char (0x0x7f4a4c7a0f00) 0 + +Class QChar + size=2 align=2 + base size=2 base align=2 +QChar (0x0x7f4a4c7c0660) 0 + +Class QtPrivate::RefCount + size=4 align=4 + base size=4 base align=4 +QtPrivate::RefCount (0x0x7f4a4c891480) 0 + +Class QArrayData + size=24 align=8 + base size=24 base align=8 +QArrayData (0x0x7f4a4c8917e0) 0 + +Class QtPrivate::QContainerImplHelper + size=1 align=1 + base size=0 base align=1 +QtPrivate::QContainerImplHelper (0x0x7f4a4c4ebae0) 0 empty + +Class lconv + size=96 align=8 + base size=96 base align=8 +lconv (0x0x7f4a4c5ec360) 0 + +Vtable for __cxxabiv1::__forced_unwind +__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class __cxxabiv1::__forced_unwind + size=8 align=8 + base size=8 base align=8 +__cxxabiv1::__forced_unwind (0x0x7f4a4c5ec420) 0 nearly-empty + vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16) + +Class sched_param + size=4 align=4 + base size=4 base align=4 +sched_param (0x0x7f4a4c69a540) 0 + +Class timex + size=208 align=8 + base size=208 base align=8 +timex (0x0x7f4a4c69a600) 0 + +Class tm + size=56 align=8 + base size=56 base align=8 +tm (0x0x7f4a4c69a660) 0 + +Class itimerspec + size=32 align=8 + base size=32 base align=8 +itimerspec (0x0x7f4a4c69a6c0) 0 + +Class _pthread_cleanup_buffer + size=32 align=8 + base size=32 base align=8 +_pthread_cleanup_buffer (0x0x7f4a4c69a720) 0 + +Class __pthread_cleanup_frame + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_frame (0x0x7f4a4c69a840) 0 + +Class __pthread_cleanup_class + size=24 align=8 + base size=24 base align=8 +__pthread_cleanup_class (0x0x7f4a4c69a8a0) 0 + +Class _IO_marker + size=24 align=8 + base size=24 base align=8 +_IO_marker (0x0x7f4a4c3d9840) 0 + +Class _IO_FILE + size=216 align=8 + base size=216 base align=8 +_IO_FILE (0x0x7f4a4c3d98a0) 0 + +Class std::_Hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Hash_impl (0x0x7f4a4c193900) 0 empty + +Class std::_Fnv_hash_impl + size=1 align=1 + base size=0 base align=1 +std::_Fnv_hash_impl (0x0x7f4a4c193a80) 0 empty + +Class std::locale + size=8 align=8 + base size=8 base align=8 +std::locale (0x0x7f4a4bf08c00) 0 + +Vtable for std::locale::facet +std::locale::facet::_ZTVNSt6locale5facetE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6locale5facetE) +16 (int (*)(...))std::locale::facet::~facet +24 (int (*)(...))std::locale::facet::~facet + +Class std::locale::facet + size=16 align=8 + base size=12 base align=8 +std::locale::facet (0x0x7f4a4bf50000) 0 + vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16) + +Class std::locale::id + size=8 align=8 + base size=8 base align=8 +std::locale::id (0x0x7f4a4bf502a0) 0 + +Class std::locale::_Impl + size=40 align=8 + base size=40 base align=8 +std::locale::_Impl (0x0x7f4a4bf50480) 0 + +Class std::__cow_string + size=8 align=8 + base size=8 base align=8 +std::__cow_string (0x0x7f4a4bfa0480) 0 + +Vtable for std::logic_error +std::logic_error::_ZTVSt11logic_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11logic_error) +16 (int (*)(...))std::logic_error::~logic_error +24 (int (*)(...))std::logic_error::~logic_error +32 (int (*)(...))std::logic_error::what + +Class std::logic_error + size=16 align=8 + base size=16 base align=8 +std::logic_error (0x0x7f4a4c19f958) 0 + vptr=((& std::logic_error::_ZTVSt11logic_error) + 16) + std::exception (0x0x7f4a4bfa0540) 0 nearly-empty + primary-for std::logic_error (0x0x7f4a4c19f958) + +Vtable for std::domain_error +std::domain_error::_ZTVSt12domain_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12domain_error) +16 (int (*)(...))std::domain_error::~domain_error +24 (int (*)(...))std::domain_error::~domain_error +32 (int (*)(...))std::logic_error::what + +Class std::domain_error + size=16 align=8 + base size=16 base align=8 +std::domain_error (0x0x7f4a4c19f9c0) 0 + vptr=((& std::domain_error::_ZTVSt12domain_error) + 16) + std::logic_error (0x0x7f4a4bfc2000) 0 + primary-for std::domain_error (0x0x7f4a4c19f9c0) + std::exception (0x0x7f4a4bfa05a0) 0 nearly-empty + primary-for std::logic_error (0x0x7f4a4bfc2000) + +Vtable for std::invalid_argument +std::invalid_argument::_ZTVSt16invalid_argument: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt16invalid_argument) +16 (int (*)(...))std::invalid_argument::~invalid_argument +24 (int (*)(...))std::invalid_argument::~invalid_argument +32 (int (*)(...))std::logic_error::what + +Class std::invalid_argument + size=16 align=8 + base size=16 base align=8 +std::invalid_argument (0x0x7f4a4bfc2068) 0 + vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16) + std::logic_error (0x0x7f4a4bfc20d0) 0 + primary-for std::invalid_argument (0x0x7f4a4bfc2068) + std::exception (0x0x7f4a4bfa0600) 0 nearly-empty + primary-for std::logic_error (0x0x7f4a4bfc20d0) + +Vtable for std::length_error +std::length_error::_ZTVSt12length_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12length_error) +16 (int (*)(...))std::length_error::~length_error +24 (int (*)(...))std::length_error::~length_error +32 (int (*)(...))std::logic_error::what + +Class std::length_error + size=16 align=8 + base size=16 base align=8 +std::length_error (0x0x7f4a4bfc2138) 0 + vptr=((& std::length_error::_ZTVSt12length_error) + 16) + std::logic_error (0x0x7f4a4bfc21a0) 0 + primary-for std::length_error (0x0x7f4a4bfc2138) + std::exception (0x0x7f4a4bfa0660) 0 nearly-empty + primary-for std::logic_error (0x0x7f4a4bfc21a0) + +Vtable for std::out_of_range +std::out_of_range::_ZTVSt12out_of_range: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12out_of_range) +16 (int (*)(...))std::out_of_range::~out_of_range +24 (int (*)(...))std::out_of_range::~out_of_range +32 (int (*)(...))std::logic_error::what + +Class std::out_of_range + size=16 align=8 + base size=16 base align=8 +std::out_of_range (0x0x7f4a4bfc2208) 0 + vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16) + std::logic_error (0x0x7f4a4bfc2270) 0 + primary-for std::out_of_range (0x0x7f4a4bfc2208) + std::exception (0x0x7f4a4bfa06c0) 0 nearly-empty + primary-for std::logic_error (0x0x7f4a4bfc2270) + +Vtable for std::runtime_error +std::runtime_error::_ZTVSt13runtime_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt13runtime_error) +16 (int (*)(...))std::runtime_error::~runtime_error +24 (int (*)(...))std::runtime_error::~runtime_error +32 (int (*)(...))std::runtime_error::what + +Class std::runtime_error + size=16 align=8 + base size=16 base align=8 +std::runtime_error (0x0x7f4a4bfc22d8) 0 + vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16) + std::exception (0x0x7f4a4bfa0720) 0 nearly-empty + primary-for std::runtime_error (0x0x7f4a4bfc22d8) + +Vtable for std::range_error +std::range_error::_ZTVSt11range_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt11range_error) +16 (int (*)(...))std::range_error::~range_error +24 (int (*)(...))std::range_error::~range_error +32 (int (*)(...))std::runtime_error::what + +Class std::range_error + size=16 align=8 + base size=16 base align=8 +std::range_error (0x0x7f4a4bfc2340) 0 + vptr=((& std::range_error::_ZTVSt11range_error) + 16) + std::runtime_error (0x0x7f4a4bfc23a8) 0 + primary-for std::range_error (0x0x7f4a4bfc2340) + std::exception (0x0x7f4a4bfa0780) 0 nearly-empty + primary-for std::runtime_error (0x0x7f4a4bfc23a8) + +Vtable for std::overflow_error +std::overflow_error::_ZTVSt14overflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt14overflow_error) +16 (int (*)(...))std::overflow_error::~overflow_error +24 (int (*)(...))std::overflow_error::~overflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::overflow_error + size=16 align=8 + base size=16 base align=8 +std::overflow_error (0x0x7f4a4bfc2410) 0 + vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16) + std::runtime_error (0x0x7f4a4bfc2478) 0 + primary-for std::overflow_error (0x0x7f4a4bfc2410) + std::exception (0x0x7f4a4bfa07e0) 0 nearly-empty + primary-for std::runtime_error (0x0x7f4a4bfc2478) + +Vtable for std::underflow_error +std::underflow_error::_ZTVSt15underflow_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt15underflow_error) +16 (int (*)(...))std::underflow_error::~underflow_error +24 (int (*)(...))std::underflow_error::~underflow_error +32 (int (*)(...))std::runtime_error::what + +Class std::underflow_error + size=16 align=8 + base size=16 base align=8 +std::underflow_error (0x0x7f4a4bfc24e0) 0 + vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16) + std::runtime_error (0x0x7f4a4bfc2548) 0 + primary-for std::underflow_error (0x0x7f4a4bfc24e0) + std::exception (0x0x7f4a4bfa0840) 0 nearly-empty + primary-for std::runtime_error (0x0x7f4a4bfc2548) + +Vtable for std::_V2::error_category +std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt3_V214error_categoryE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))std::_V2::error_category::_M_message +48 (int (*)(...))__cxa_pure_virtual +56 (int (*)(...))std::_V2::error_category::default_error_condition +64 (int (*)(...))std::_V2::error_category::equivalent +72 (int (*)(...))std::_V2::error_category::equivalent + +Class std::_V2::error_category + size=8 align=8 + base size=8 base align=8 +std::_V2::error_category (0x0x7f4a4bfa09c0) 0 nearly-empty + vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16) + +Class std::error_code + size=16 align=8 + base size=16 base align=8 +std::error_code (0x0x7f4a4bfa0d20) 0 + +Class std::error_condition + size=16 align=8 + base size=16 base align=8 +std::error_condition (0x0x7f4a4bffb5a0) 0 + +Vtable for std::system_error +std::system_error::_ZTVSt12system_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12system_error) +16 (int (*)(...))std::system_error::~system_error +24 (int (*)(...))std::system_error::~system_error +32 (int (*)(...))std::runtime_error::what + +Class std::system_error + size=32 align=8 + base size=32 base align=8 +std::system_error (0x0x7f4a4bfc2958) 0 + vptr=((& std::system_error::_ZTVSt12system_error) + 16) + std::runtime_error (0x0x7f4a4bfc29c0) 0 + primary-for std::system_error (0x0x7f4a4bfc2958) + std::exception (0x0x7f4a4c029180) 0 nearly-empty + primary-for std::runtime_error (0x0x7f4a4bfc29c0) + +Vtable for std::ios_base::failure +std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E) +16 (int (*)(...))std::ios_base::failure::~failure +24 (int (*)(...))std::ios_base::failure::~failure +32 (int (*)(...))std::ios_base::failure::what + +Class std::ios_base::failure + size=32 align=8 + base size=32 base align=8 +std::ios_base::failure (0x0x7f4a4bfc2c30) 0 + vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16) + std::system_error (0x0x7f4a4bfc2c98) 0 + primary-for std::ios_base::failure (0x0x7f4a4bfc2c30) + std::runtime_error (0x0x7f4a4bfc2d00) 0 + primary-for std::system_error (0x0x7f4a4bfc2c98) + std::exception (0x0x7f4a4c059720) 0 nearly-empty + primary-for std::runtime_error (0x0x7f4a4bfc2d00) + +Class std::ios_base::_Callback_list + size=24 align=8 + base size=24 base align=8 +std::ios_base::_Callback_list (0x0x7f4a4c059780) 0 + +Class std::ios_base::_Words + size=16 align=8 + base size=16 base align=8 +std::ios_base::_Words (0x0x7f4a4c0597e0) 0 + +Class std::ios_base::Init + size=1 align=1 + base size=0 base align=1 +std::ios_base::Init (0x0x7f4a4c059840) 0 empty + +Vtable for std::ios_base +std::ios_base::_ZTVSt8ios_base: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt8ios_base) +16 (int (*)(...))std::ios_base::~ios_base +24 (int (*)(...))std::ios_base::~ios_base + +Class std::ios_base + size=216 align=8 + base size=216 base align=8 +std::ios_base (0x0x7f4a4c0596c0) 0 + vptr=((& std::ios_base::_ZTVSt8ios_base) + 16) + +Class std::ctype_base + size=1 align=1 + base size=0 base align=1 +std::ctype_base (0x0x7f4a4bd47180) 0 empty + +Class std::__num_base + size=1 align=1 + base size=0 base align=1 +std::__num_base (0x0x7f4a4be24360) 0 empty + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSo: 2 entries +0 ((& std::basic_ostream::_ZTVSo) + 24) +8 ((& std::basic_ostream::_ZTVSo) + 64) + +VTT for std::basic_ostream +std::basic_ostream::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_ostream::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSi: 2 entries +0 ((& std::basic_istream::_ZTVSi) + 24) +8 ((& std::basic_istream::_ZTVSi) + 64) + +VTT for std::basic_istream +std::basic_istream::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries +0 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_istream::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64) + +Construction vtable for std::basic_istream (0x0x7f4a4b9b3410 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd0_Si: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISi) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISi) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7f4a4b9b34e0 instance) in std::basic_iostream +std::basic_iostream::_ZTCSd16_So: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISo) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISo) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSd: 7 entries +0 ((& std::basic_iostream::_ZTVSd) + 24) +8 ((& std::basic_iostream::_ZTCSd0_Si) + 24) +16 ((& std::basic_iostream::_ZTCSd0_Si) + 64) +24 ((& std::basic_iostream::_ZTCSd16_So) + 24) +32 ((& std::basic_iostream::_ZTCSd16_So) + 64) +40 ((& std::basic_iostream::_ZTVSd) + 104) +48 ((& std::basic_iostream::_ZTVSd) + 64) + +Construction vtable for std::basic_istream (0x0x7f4a4b9f21a0 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries +0 24 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551592 +48 (int (*)(...))-24 +56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE) +64 0 +72 0 + +Construction vtable for std::basic_ostream (0x0x7f4a4b9f2270 instance) in std::basic_iostream +std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries +0 8 +8 (int (*)(...))0 +16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +24 0 +32 0 +40 18446744073709551608 +48 (int (*)(...))-8 +56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE) +64 0 +72 0 + +VTT for std::basic_iostream +std::basic_iostream::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries +0 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24) +8 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24) +16 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64) +24 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24) +32 ((& std::basic_iostream::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64) +40 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104) +48 ((& std::basic_iostream::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64) + +Class QByteArrayDataPtr + size=8 align=8 + base size=8 base align=8 +QByteArrayDataPtr (0x0x7f4a4b9efcc0) 0 + +Class QByteArray + size=8 align=8 + base size=8 base align=8 +QByteArray (0x0x7f4a4b9efd20) 0 + +Class QByteRef + size=16 align=8 + base size=12 base align=8 +QByteRef (0x0x7f4a4b757120) 0 + +Class QStringDataPtr + size=8 align=8 + base size=8 base align=8 +QStringDataPtr (0x0x7f4a4b7d8f60) 0 + +Class QStringView + size=16 align=8 + base size=16 base align=8 +QStringView (0x0x7f4a4b807420) 0 + +Class QLatin1String + size=16 align=8 + base size=16 base align=8 +QLatin1String (0x0x7f4a4b4de4e0) 0 + +Class QString::Null + size=1 align=1 + base size=0 base align=1 +QString::Null (0x0x7f4a4b58f480) 0 empty + +Class QString + size=8 align=8 + base size=8 base align=8 +QString (0x0x7f4a4b58f360) 0 + +Class QCharRef + size=16 align=8 + base size=12 base align=8 +QCharRef (0x0x7f4a4b469300) 0 + +Class QStringRef + size=16 align=8 + base size=16 base align=8 +QStringRef (0x0x7f4a4b1cfea0) 0 + +Class QtPrivate::ArgBase + size=1 align=1 + base size=1 base align=1 +QtPrivate::ArgBase (0x0x7f4a4af4ecc0) 0 + +Class QtPrivate::QStringViewArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QStringViewArg (0x0x7f4a4b27e0d0) 0 + QtPrivate::ArgBase (0x0x7f4a4af4ed20) 0 + +Class QtPrivate::QLatin1StringArg + size=24 align=8 + base size=24 base align=8 +QtPrivate::QLatin1StringArg (0x0x7f4a4b27e138) 0 + QtPrivate::ArgBase (0x0x7f4a4af4ef00) 0 + +Class std::__erased_type + size=1 align=1 + base size=0 base align=1 +std::__erased_type (0x0x7f4a4b02ee40) 0 empty + +Class std::allocator_arg_t + size=1 align=1 + base size=0 base align=1 +std::allocator_arg_t (0x0x7f4a4b02eea0) 0 empty + +Class std::__uses_alloc_base + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc_base (0x0x7f4a4b04d060) 0 empty + +Class std::__uses_alloc0::_Sink + size=1 align=1 + base size=0 base align=1 +std::__uses_alloc0::_Sink (0x0x7f4a4b04d120) 0 empty + +Class std::__uses_alloc0 + size=1 align=1 + base size=1 base align=1 +std::__uses_alloc0 (0x0x7f4a4b27e4e0) 0 + std::__uses_alloc_base (0x0x7f4a4b04d0c0) 0 empty + +Class std::_Swallow_assign + size=1 align=1 + base size=0 base align=1 +std::_Swallow_assign (0x0x7f4a4adb3480) 0 empty + +Vtable for std::bad_function_call +std::bad_function_call::_ZTVSt17bad_function_call: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt17bad_function_call) +16 (int (*)(...))std::bad_function_call::~bad_function_call +24 (int (*)(...))std::bad_function_call::~bad_function_call +32 (int (*)(...))std::bad_function_call::what + +Class std::bad_function_call + size=8 align=8 + base size=8 base align=8 +std::bad_function_call (0x0x7f4a4ae00750) 0 nearly-empty + vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16) + std::exception (0x0x7f4a4adf7d80) 0 nearly-empty + primary-for std::bad_function_call (0x0x7f4a4ae00750) + +Class std::_Nocopy_types + size=16 align=8 + base size=16 base align=8 +std::_Nocopy_types (0x0x7f4a4adf7e40) 0 + +Class std::_Any_data + size=16 align=8 + base size=16 base align=8 +std::_Any_data (0x0x7f4a4adf7ea0) 0 + +Class std::_Function_base + size=24 align=8 + base size=24 base align=8 +std::_Function_base (0x0x7f4a4ae2c1e0) 0 + +Class QtPrivate::QHashCombine + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombine (0x0x7f4a4ac26660) 0 empty + +Class QtPrivate::QHashCombineCommutative + size=1 align=1 + base size=0 base align=1 +QtPrivate::QHashCombineCommutative (0x0x7f4a4ac26720) 0 empty + +Class std::_Bit_reference + size=16 align=8 + base size=16 base align=8 +std::_Bit_reference (0x0x7f4a4a932e40) 0 + +Class std::_Bit_iterator_base + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator_base (0x0x7f4a4ac792d8) 0 + std::iterator (0x0x7f4a4a9515a0) 0 empty + +Class std::_Bit_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_iterator (0x0x7f4a4ac79410) 0 + std::_Bit_iterator_base (0x0x7f4a4ac79478) 0 + std::iterator (0x0x7f4a4a951c00) 0 empty + +Class std::_Bit_const_iterator + size=16 align=8 + base size=12 base align=8 +std::_Bit_const_iterator (0x0x7f4a4ac794e0) 0 + std::_Bit_iterator_base (0x0x7f4a4ac79548) 0 + std::iterator (0x0x7f4a4a988420) 0 empty + +Class std::__detail::_List_node_base + size=16 align=8 + base size=16 base align=8 +std::__detail::_List_node_base (0x0x7f4a4a73cf60) 0 + +Class QListData::NotArrayCompatibleLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotArrayCompatibleLayout (0x0x7f4a4a882d20) 0 empty + +Class QListData::NotIndirectLayout + size=1 align=1 + base size=0 base align=1 +QListData::NotIndirectLayout (0x0x7f4a4a882d80) 0 empty + +Class QListData::ArrayCompatibleLayout + size=1 align=1 + base size=1 base align=1 +QListData::ArrayCompatibleLayout (0x0x7f4a4a809068) 0 empty + QListData::NotIndirectLayout (0x0x7f4a4a882de0) 0 empty + +Class QListData::InlineWithPaddingLayout + size=1 align=1 + base size=1 base align=1 +QListData::InlineWithPaddingLayout (0x0x7f4a4a7dc930) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7f4a4a882e40) 0 empty + QListData::NotIndirectLayout (0x0x7f4a4a882ea0) 0 empty + +Class QListData::IndirectLayout + size=1 align=1 + base size=1 base align=1 +QListData::IndirectLayout (0x0x7f4a4a8090d0) 0 empty + QListData::NotArrayCompatibleLayout (0x0x7f4a4a882f00) 0 empty + +Class QListData::Data + size=24 align=8 + base size=24 base align=8 +QListData::Data (0x0x7f4a4a882f60) 0 + +Class QListData + size=8 align=8 + base size=8 base align=8 +QListData (0x0x7f4a4a882cc0) 0 + +Class QRegExp + size=8 align=8 + base size=8 base align=8 +QRegExp (0x0x7f4a4a597120) 0 + +Class QStringMatcher::Data + size=272 align=8 + base size=272 base align=8 +QStringMatcher::Data (0x0x7f4a4a66b660) 0 + +Class QStringMatcher + size=1048 align=8 + base size=1048 base align=8 +QStringMatcher (0x0x7f4a4a66b600) 0 + +Class QStringList + size=8 align=8 + base size=8 base align=8 +QStringList (0x0x7f4a4a65dd68) 0 + QList (0x0x7f4a4a65ddd0) 0 + QListSpecialMethods (0x0x7f4a4a66b8a0) 0 empty + +Class QScopedPointerPodDeleter + size=1 align=1 + base size=0 base align=1 +QScopedPointerPodDeleter (0x0x7f4a4a3457e0) 0 empty + +Class std::_Rb_tree_node_base + size=32 align=8 + base size=32 base align=8 +std::_Rb_tree_node_base (0x0x7f4a4a3d5a20) 0 + +Class std::_Rb_tree_header + size=40 align=8 + base size=40 base align=8 +std::_Rb_tree_header (0x0x7f4a4a3d5d80) 0 + +Class QtPrivate::AbstractDebugStreamFunction + size=16 align=8 + base size=16 base align=8 +QtPrivate::AbstractDebugStreamFunction (0x0x7f4a4a12e3c0) 0 + +Class QtPrivate::AbstractComparatorFunction + size=24 align=8 + base size=24 base align=8 +QtPrivate::AbstractComparatorFunction (0x0x7f4a4a12e720) 0 + +Class QtPrivate::AbstractConverterFunction + size=8 align=8 + base size=8 base align=8 +QtPrivate::AbstractConverterFunction (0x0x7f4a4a12ec60) 0 + +Class QMetaType + size=80 align=8 + base size=80 base align=8 +QMetaType (0x0x7f4a4a1591e0) 0 + +Class QtMetaTypePrivate::VariantData + size=24 align=8 + base size=20 base align=8 +QtMetaTypePrivate::VariantData (0x0x7f4a4a1c13c0) 0 + +Class QtMetaTypePrivate::VectorBoolElements + size=1 align=1 + base size=0 base align=1 +QtMetaTypePrivate::VectorBoolElements (0x0x7f4a4a1c1a80) 0 empty + +Class QtMetaTypePrivate::QSequentialIterableImpl + size=104 align=8 + base size=104 base align=8 +QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f4a49e56900) 0 + +Class QtMetaTypePrivate::QAssociativeIterableImpl + size=112 align=8 + base size=112 base align=8 +QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f4a49ed3000) 0 + +Class QtMetaTypePrivate::QPairVariantInterfaceImpl + size=40 align=8 + base size=40 base align=8 +QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f4a49f28540) 0 + +Class std::chrono::_V2::system_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::system_clock (0x0x7f4a49dc2ae0) 0 empty + +Class std::chrono::_V2::steady_clock + size=1 align=1 + base size=0 base align=1 +std::chrono::_V2::steady_clock (0x0x7f4a49af35a0) 0 empty + +Vtable for QObjectData +QObjectData::_ZTV11QObjectData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QObjectData) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))__cxa_pure_virtual + +Class QObjectData + size=48 align=8 + base size=48 base align=8 +QObjectData (0x0x7f4a49af3600) 0 + vptr=((& QObjectData::_ZTV11QObjectData) + 16) + +Class QObject::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObject::QPrivateSignal (0x0x7f4a49af37e0) 0 empty + +Vtable for QObject +QObject::_ZTV7QObject: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QObject) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QObject::qt_metacall +40 (int (*)(...))QObject::~QObject +48 (int (*)(...))QObject::~QObject +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObject + size=16 align=8 + base size=16 base align=8 +QObject (0x0x7f4a49af3780) 0 + vptr=((& QObject::_ZTV7QObject) + 16) + +Vtable for QObjectUserData +QObjectUserData::_ZTV15QObjectUserData: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QObjectUserData) +16 (int (*)(...))QObjectUserData::~QObjectUserData +24 (int (*)(...))QObjectUserData::~QObjectUserData + +Class QObjectUserData + size=8 align=8 + base size=8 base align=8 +QObjectUserData (0x0x7f4a49bd2600) 0 nearly-empty + vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16) + +Class QSignalBlocker + size=16 align=8 + base size=10 base align=8 +QSignalBlocker (0x0x7f4a49bd2780) 0 + +Class QAbstractAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractAnimation::QPrivateSignal (0x0x7f4a497f7060) 0 empty + +Vtable for QAbstractAnimation +QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractAnimation) +16 (int (*)(...))QAbstractAnimation::metaObject +24 (int (*)(...))QAbstractAnimation::qt_metacast +32 (int (*)(...))QAbstractAnimation::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAbstractAnimation + size=16 align=8 + base size=16 base align=8 +QAbstractAnimation (0x0x7f4a49b76f08) 0 + vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16) + QObject (0x0x7f4a497f7000) 0 + primary-for QAbstractAnimation (0x0x7f4a49b76f08) + +Class QAnimationDriver::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationDriver::QPrivateSignal (0x0x7f4a497f7420) 0 empty + +Vtable for QAnimationDriver +QAnimationDriver::_ZTV16QAnimationDriver: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QAnimationDriver) +16 (int (*)(...))QAnimationDriver::metaObject +24 (int (*)(...))QAnimationDriver::qt_metacast +32 (int (*)(...))QAnimationDriver::qt_metacall +40 (int (*)(...))QAnimationDriver::~QAnimationDriver +48 (int (*)(...))QAnimationDriver::~QAnimationDriver +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAnimationDriver::advance +120 (int (*)(...))QAnimationDriver::elapsed +128 (int (*)(...))QAnimationDriver::start +136 (int (*)(...))QAnimationDriver::stop + +Class QAnimationDriver + size=16 align=8 + base size=16 base align=8 +QAnimationDriver (0x0x7f4a49b76f70) 0 + vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16) + QObject (0x0x7f4a497f73c0) 0 + primary-for QAnimationDriver (0x0x7f4a49b76f70) + +Class QEventLoop::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventLoop::QPrivateSignal (0x0x7f4a497f7660) 0 empty + +Vtable for QEventLoop +QEventLoop::_ZTV10QEventLoop: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QEventLoop) +16 (int (*)(...))QEventLoop::metaObject +24 (int (*)(...))QEventLoop::qt_metacast +32 (int (*)(...))QEventLoop::qt_metacall +40 (int (*)(...))QEventLoop::~QEventLoop +48 (int (*)(...))QEventLoop::~QEventLoop +56 (int (*)(...))QEventLoop::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QEventLoop + size=16 align=8 + base size=16 base align=8 +QEventLoop (0x0x7f4a4981c000) 0 + vptr=((& QEventLoop::_ZTV10QEventLoop) + 16) + QObject (0x0x7f4a497f7600) 0 + primary-for QEventLoop (0x0x7f4a4981c000) + +Class QEventLoopLocker + size=8 align=8 + base size=8 base align=8 +QEventLoopLocker (0x0x7f4a497f7f00) 0 + +Class QAbstractEventDispatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractEventDispatcher::QPrivateSignal (0x0x7f4a49857000) 0 empty + +Class QAbstractEventDispatcher::TimerInfo + size=12 align=4 + base size=12 base align=4 +QAbstractEventDispatcher::TimerInfo (0x0x7f4a49857060) 0 + +Vtable for QAbstractEventDispatcher +QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher) +16 (int (*)(...))QAbstractEventDispatcher::metaObject +24 (int (*)(...))QAbstractEventDispatcher::qt_metacast +32 (int (*)(...))QAbstractEventDispatcher::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual +176 (int (*)(...))__cxa_pure_virtual +184 (int (*)(...))__cxa_pure_virtual +192 (int (*)(...))__cxa_pure_virtual +200 (int (*)(...))__cxa_pure_virtual +208 (int (*)(...))QAbstractEventDispatcher::startingUp +216 (int (*)(...))QAbstractEventDispatcher::closingDown + +Class QAbstractEventDispatcher + size=16 align=8 + base size=16 base align=8 +QAbstractEventDispatcher (0x0x7f4a4981c138) 0 + vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16) + QObject (0x0x7f4a497f7f60) 0 + primary-for QAbstractEventDispatcher (0x0x7f4a4981c138) + +Class QMapNodeBase + size=24 align=8 + base size=24 base align=8 +QMapNodeBase (0x0x7f4a498a9060) 0 + +Class QMapDataBase + size=40 align=8 + base size=40 base align=8 +QMapDataBase (0x0x7f4a498a9cc0) 0 + +Class QHashData::Node + size=16 align=8 + base size=16 base align=8 +QHashData::Node (0x0x7f4a499a2660) 0 + +Class QHashData + size=48 align=8 + base size=44 base align=8 +QHashData (0x0x7f4a499a2600) 0 + +Class QHashDummyValue + size=1 align=1 + base size=0 base align=1 +QHashDummyValue (0x0x7f4a499a2900) 0 empty + +Class QVariant::PrivateShared + size=16 align=8 + base size=12 base align=8 +QVariant::PrivateShared (0x0x7f4a496d2060) 0 + +Class QVariant::Private::Data + size=8 align=8 + base size=8 base align=8 +QVariant::Private::Data (0x0x7f4a496d2120) 0 + +Class QVariant::Private + size=16 align=8 + base size=12 base align=8 +QVariant::Private (0x0x7f4a496d20c0) 0 + +Class QVariant::Handler + size=72 align=8 + base size=72 base align=8 +QVariant::Handler (0x0x7f4a496d2180) 0 + +Class QVariant + size=16 align=8 + base size=16 base align=8 +QVariant (0x0x7f4a496d2000) 0 + +Class QVariantComparisonHelper + size=8 align=8 + base size=8 base align=8 +QVariantComparisonHelper (0x0x7f4a4942f420) 0 + +Class QSequentialIterable::const_iterator + size=112 align=8 + base size=112 base align=8 +QSequentialIterable::const_iterator (0x0x7f4a49476a80) 0 + +Class QSequentialIterable + size=104 align=8 + base size=104 base align=8 +QSequentialIterable (0x0x7f4a49476a20) 0 + +Class QAssociativeIterable::const_iterator + size=120 align=8 + base size=120 base align=8 +QAssociativeIterable::const_iterator (0x0x7f4a49476ba0) 0 + +Class QAssociativeIterable + size=112 align=8 + base size=112 base align=8 +QAssociativeIterable (0x0x7f4a49476b40) 0 + +Class QModelIndex + size=24 align=8 + base size=24 base align=8 +QModelIndex (0x0x7f4a49542d20) 0 + +Class QPersistentModelIndex + size=8 align=8 + base size=8 base align=8 +QPersistentModelIndex (0x0x7f4a495b5960) 0 + +Class QAbstractItemModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractItemModel::QPrivateSignal (0x0x7f4a49283780) 0 empty + +Vtable for QAbstractItemModel +QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractItemModel) +16 (int (*)(...))QAbstractItemModel::metaObject +24 (int (*)(...))QAbstractItemModel::qt_metacast +32 (int (*)(...))QAbstractItemModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractItemModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractItemModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractItemModel + size=16 align=8 + base size=16 base align=8 +QAbstractItemModel (0x0x7f4a4928a2d8) 0 + vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16) + QObject (0x0x7f4a49283720) 0 + primary-for QAbstractItemModel (0x0x7f4a4928a2d8) + +Class QAbstractTableModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTableModel::QPrivateSignal (0x0x7f4a49341b40) 0 empty + +Vtable for QAbstractTableModel +QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTableModel) +16 (int (*)(...))QAbstractTableModel::metaObject +24 (int (*)(...))QAbstractTableModel::qt_metacast +32 (int (*)(...))QAbstractTableModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractTableModel::index +120 (int (*)(...))QAbstractTableModel::parent +128 (int (*)(...))QAbstractTableModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractTableModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractTableModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractTableModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractTableModel + size=16 align=8 + base size=16 base align=8 +QAbstractTableModel (0x0x7f4a4928a8f0) 0 + vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16) + QAbstractItemModel (0x0x7f4a4928a958) 0 + primary-for QAbstractTableModel (0x0x7f4a4928a8f0) + QObject (0x0x7f4a49341ae0) 0 + primary-for QAbstractItemModel (0x0x7f4a4928a958) + +Class QAbstractListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractListModel::QPrivateSignal (0x0x7f4a49341cc0) 0 empty + +Vtable for QAbstractListModel +QAbstractListModel::_ZTV18QAbstractListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QAbstractListModel) +16 (int (*)(...))QAbstractListModel::metaObject +24 (int (*)(...))QAbstractListModel::qt_metacast +32 (int (*)(...))QAbstractListModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QAbstractListModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))QAbstractItemModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QAbstractItemModel::itemData +200 (int (*)(...))QAbstractItemModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QAbstractListModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QAbstractListModel + size=16 align=8 + base size=16 base align=8 +QAbstractListModel (0x0x7f4a4928a9c0) 0 + vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16) + QAbstractItemModel (0x0x7f4a4928aa28) 0 + primary-for QAbstractListModel (0x0x7f4a4928a9c0) + QObject (0x0x7f4a49341c60) 0 + primary-for QAbstractItemModel (0x0x7f4a4928aa28) + +Vtable for QAbstractNativeEventFilter +QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNativeEventFilter + size=16 align=8 + base size=16 base align=8 +QAbstractNativeEventFilter (0x0x7f4a49384420) 0 + vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16) + +Class QAbstractProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractProxyModel::QPrivateSignal (0x0x7f4a493844e0) 0 empty + +Vtable for QAbstractProxyModel +QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractProxyModel) +16 (int (*)(...))QAbstractProxyModel::metaObject +24 (int (*)(...))QAbstractProxyModel::qt_metacast +32 (int (*)(...))QAbstractProxyModel::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QAbstractProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QAbstractProxyModel::setSourceModel +392 (int (*)(...))__cxa_pure_virtual +400 (int (*)(...))__cxa_pure_virtual +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QAbstractProxyModel + size=16 align=8 + base size=16 base align=8 +QAbstractProxyModel (0x0x7f4a4928aaf8) 0 + vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16) + QAbstractItemModel (0x0x7f4a4928ab60) 0 + primary-for QAbstractProxyModel (0x0x7f4a4928aaf8) + QObject (0x0x7f4a49384480) 0 + primary-for QAbstractItemModel (0x0x7f4a4928ab60) + +Class QAbstractState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractState::QPrivateSignal (0x0x7f4a49384720) 0 empty + +Vtable for QAbstractState +QAbstractState::_ZTV14QAbstractState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QAbstractState) +16 (int (*)(...))QAbstractState::metaObject +24 (int (*)(...))QAbstractState::qt_metacast +32 (int (*)(...))QAbstractState::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractState + size=16 align=8 + base size=16 base align=8 +QAbstractState (0x0x7f4a4928abc8) 0 + vptr=((& QAbstractState::_ZTV14QAbstractState) + 16) + QObject (0x0x7f4a493846c0) 0 + primary-for QAbstractState (0x0x7f4a4928abc8) + +Class QAbstractTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractTransition::QPrivateSignal (0x0x7f4a49384960) 0 empty + +Vtable for QAbstractTransition +QAbstractTransition::_ZTV19QAbstractTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QAbstractTransition) +16 (int (*)(...))QAbstractTransition::metaObject +24 (int (*)(...))QAbstractTransition::qt_metacast +32 (int (*)(...))QAbstractTransition::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAbstractTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QAbstractTransition + size=16 align=8 + base size=16 base align=8 +QAbstractTransition (0x0x7f4a4928ac30) 0 + vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16) + QObject (0x0x7f4a49384900) 0 + primary-for QAbstractTransition (0x0x7f4a4928ac30) + +Class QAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAnimationGroup::QPrivateSignal (0x0x7f4a49384c60) 0 empty + +Vtable for QAnimationGroup +QAnimationGroup::_ZTV15QAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAnimationGroup) +16 (int (*)(...))QAnimationGroup::metaObject +24 (int (*)(...))QAnimationGroup::qt_metacast +32 (int (*)(...))QAnimationGroup::qt_metacall +40 0 +48 0 +56 (int (*)(...))QAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QAnimationGroup + size=16 align=8 + base size=16 base align=8 +QAnimationGroup (0x0x7f4a4928ac98) 0 + vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16) + QAbstractAnimation (0x0x7f4a4928ad00) 0 + primary-for QAnimationGroup (0x0x7f4a4928ac98) + QObject (0x0x7f4a49384c00) 0 + primary-for QAbstractAnimation (0x0x7f4a4928ad00) + +Class QBasicTimer + size=4 align=4 + base size=4 base align=4 +QBasicTimer (0x0x7f4a49034f60) 0 + +Class QBitArray + size=8 align=8 + base size=8 base align=8 +QBitArray (0x0x7f4a490d8900) 0 + +Class QBitRef + size=16 align=8 + base size=12 base align=8 +QBitRef (0x0x7f4a49123d80) 0 + +Class QIODevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIODevice::QPrivateSignal (0x0x7f4a4919a060) 0 empty + +Vtable for QIODevice +QIODevice::_ZTV9QIODevice: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QIODevice) +16 (int (*)(...))QIODevice::metaObject +24 (int (*)(...))QIODevice::qt_metacast +32 (int (*)(...))QIODevice::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QIODevice::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))__cxa_pure_virtual + +Class QIODevice + size=16 align=8 + base size=16 base align=8 +QIODevice (0x0x7f4a491942d8) 0 + vptr=((& QIODevice::_ZTV9QIODevice) + 16) + QObject (0x0x7f4a4919a000) 0 + primary-for QIODevice (0x0x7f4a491942d8) + +Class QBuffer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QBuffer::QPrivateSignal (0x0x7f4a4919a9c0) 0 empty + +Vtable for QBuffer +QBuffer::_ZTV7QBuffer: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QBuffer) +16 (int (*)(...))QBuffer::metaObject +24 (int (*)(...))QBuffer::qt_metacast +32 (int (*)(...))QBuffer::qt_metacall +40 (int (*)(...))QBuffer::~QBuffer +48 (int (*)(...))QBuffer::~QBuffer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QBuffer::connectNotify +104 (int (*)(...))QBuffer::disconnectNotify +112 (int (*)(...))QIODevice::isSequential +120 (int (*)(...))QBuffer::open +128 (int (*)(...))QBuffer::close +136 (int (*)(...))QBuffer::pos +144 (int (*)(...))QBuffer::size +152 (int (*)(...))QBuffer::seek +160 (int (*)(...))QBuffer::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QBuffer::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QBuffer::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QBuffer::writeData + +Class QBuffer + size=16 align=8 + base size=16 base align=8 +QBuffer (0x0x7f4a49194410) 0 + vptr=((& QBuffer::_ZTV7QBuffer) + 16) + QIODevice (0x0x7f4a49194478) 0 + primary-for QBuffer (0x0x7f4a49194410) + QObject (0x0x7f4a4919a960) 0 + primary-for QIODevice (0x0x7f4a49194478) + +Class QByteArrayMatcher::Data + size=272 align=8 + base size=272 base align=8 +QByteArrayMatcher::Data (0x0x7f4a4919ac60) 0 + +Class QByteArrayMatcher + size=1040 align=8 + base size=1040 base align=8 +QByteArrayMatcher (0x0x7f4a4919ac00) 0 + +Class QStaticByteArrayMatcherBase::Skiptable + size=256 align=1 + base size=256 base align=1 +QStaticByteArrayMatcherBase::Skiptable (0x0x7f4a4919ade0) 0 + +Class QStaticByteArrayMatcherBase + size=256 align=16 + base size=256 base align=16 +QStaticByteArrayMatcherBase (0x0x7f4a4919ad80) 0 + +Class QSharedData + size=4 align=4 + base size=4 base align=4 +QSharedData (0x0x7f4a48e0fcc0) 0 + +Class QLocale + size=8 align=8 + base size=8 base align=8 +QLocale (0x0x7f4a48e5fba0) 0 + +Class QCalendar::YearMonthDay + size=12 align=4 + base size=12 base align=4 +QCalendar::YearMonthDay (0x0x7f4a48beb0c0) 0 + +Class QCalendar + size=8 align=8 + base size=8 base align=8 +QCalendar (0x0x7f4a48beb060) 0 + +Class QDate + size=8 align=8 + base size=8 base align=8 +QDate (0x0x7f4a48beb8a0) 0 + +Class QTime + size=4 align=4 + base size=4 base align=4 +QTime (0x0x7f4a48c71180) 0 + +Class QDateTime::ShortData + size=8 align=8 + base size=8 base align=8 +QDateTime::ShortData (0x0x7f4a48cbede0) 0 + +Class QDateTime::Data + size=8 align=8 + base size=8 base align=8 +QDateTime::Data (0x0x7f4a48cbee40) 0 + +Class QDateTime + size=8 align=8 + base size=8 base align=8 +QDateTime (0x0x7f4a48cbed80) 0 + +Vtable for QTextStream +QTextStream::_ZTV11QTextStream: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTextStream) +16 (int (*)(...))QTextStream::~QTextStream +24 (int (*)(...))QTextStream::~QTextStream + +Class QTextStream + size=16 align=8 + base size=16 base align=8 +QTextStream (0x0x7f4a48daf540) 0 + vptr=((& QTextStream::_ZTV11QTextStream) + 16) + +Class QTextStreamManipulator + size=40 align=8 + base size=38 base align=8 +QTextStreamManipulator (0x0x7f4a48dafde0) 0 + +Class QContiguousCacheData + size=24 align=4 + base size=24 base align=4 +QContiguousCacheData (0x0x7f4a48a88a80) 0 + +Vtable for __gnu_cxx::__concurrence_lock_error +__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error +32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what + +Class __gnu_cxx::__concurrence_lock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_lock_error (0x0x7f4a48db4478) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16) + std::exception (0x0x7f4a48acd900) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f4a48db4478) + +Vtable for __gnu_cxx::__concurrence_unlock_error +__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error +32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what + +Class __gnu_cxx::__concurrence_unlock_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_unlock_error (0x0x7f4a48db44e0) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16) + std::exception (0x0x7f4a48acda20) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f4a48db44e0) + +Vtable for __gnu_cxx::__concurrence_broadcast_error +__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error +32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what + +Class __gnu_cxx::__concurrence_broadcast_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_broadcast_error (0x0x7f4a48db4548) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16) + std::exception (0x0x7f4a48acdb40) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f4a48db4548) + +Vtable for __gnu_cxx::__concurrence_wait_error +__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE) +16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error +32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what + +Class __gnu_cxx::__concurrence_wait_error + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__concurrence_wait_error (0x0x7f4a48db4618) 0 nearly-empty + vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16) + std::exception (0x0x7f4a48acdc60) 0 nearly-empty + primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f4a48db4618) + +Class __gnu_cxx::__mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__mutex (0x0x7f4a48afacc0) 0 + +Class __gnu_cxx::__recursive_mutex + size=40 align=8 + base size=40 base align=8 +__gnu_cxx::__recursive_mutex (0x0x7f4a48b1f000) 0 + +Class __gnu_cxx::__scoped_lock + size=8 align=8 + base size=8 base align=8 +__gnu_cxx::__scoped_lock (0x0x7f4a48b1f300) 0 + +Class __gnu_cxx::__cond + size=48 align=8 + base size=48 base align=8 +__gnu_cxx::__cond (0x0x7f4a48b1f660) 0 + +Vtable for std::bad_weak_ptr +std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12bad_weak_ptr) +16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr +32 (int (*)(...))std::bad_weak_ptr::what + +Class std::bad_weak_ptr + size=8 align=8 + base size=8 base align=8 +std::bad_weak_ptr (0x0x7f4a48db4680) 0 nearly-empty + vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16) + std::exception (0x0x7f4a48b96840) 0 nearly-empty + primary-for std::bad_weak_ptr (0x0x7f4a48db4680) + +Class std::_Sp_make_shared_tag + size=1 align=1 + base size=0 base align=1 +std::_Sp_make_shared_tag (0x0x7f4a488027e0) 0 empty + +Class std::__sp_array_delete + size=1 align=1 + base size=0 base align=1 +std::__sp_array_delete (0x0x7f4a48802c00) 0 empty + +Class std::_Sp_locker + size=2 align=1 + base size=2 base align=1 +std::_Sp_locker (0x0x7f4a4893ca80) 0 + +Class QtSharedPointer::NormalDeleter + size=1 align=1 + base size=0 base align=1 +QtSharedPointer::NormalDeleter (0x0x7f4a48970f60) 0 empty + +Class QtSharedPointer::ExternalRefCountData + size=16 align=8 + base size=16 base align=8 +QtSharedPointer::ExternalRefCountData (0x0x7f4a4899e120) 0 + +Class QtPrivate::EnableInternalData + size=1 align=1 + base size=0 base align=1 +QtPrivate::EnableInternalData (0x0x7f4a48606a20) 0 empty + +Class QDebug::Stream + size=80 align=8 + base size=76 base align=8 +QDebug::Stream (0x0x7f4a48655120) 0 + +Class QDebug + size=8 align=8 + base size=8 base align=8 +QDebug (0x0x7f4a486550c0) 0 + +Class QDebugStateSaver + size=8 align=8 + base size=8 base align=8 +QDebugStateSaver (0x0x7f4a487c8a20) 0 + +Class QNoDebug + size=1 align=1 + base size=0 base align=1 +QNoDebug (0x0x7f4a487c8ae0) 0 empty + +Class QCborError + size=4 align=4 + base size=4 base align=4 +QCborError (0x0x7f4a48441d20) 0 + +Class QRegularExpression + size=8 align=8 + base size=8 base align=8 +QRegularExpression (0x0x7f4a484784e0) 0 + +Class QRegularExpressionMatch + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatch (0x0x7f4a485253c0) 0 + +Class QRegularExpressionMatchIterator + size=8 align=8 + base size=8 base align=8 +QRegularExpressionMatchIterator (0x0x7f4a48589180) 0 + +Class QUrl + size=8 align=8 + base size=8 base align=8 +QUrl (0x0x7f4a481eaba0) 0 + +Class QUuid + size=16 align=4 + base size=16 base align=4 +QUuid (0x0x7f4a48329b40) 0 + +Class QCborParserError + size=16 align=8 + base size=12 base align=8 +QCborParserError (0x0x7f4a483b56c0) 0 + +Class QCborValue + size=24 align=8 + base size=20 base align=8 +QCborValue (0x0x7f4a483b5780) 0 + +Class QCborValueRef + size=16 align=8 + base size=16 base align=8 +QCborValueRef (0x0x7f4a47e36360) 0 + +Class QCborArray::Iterator + size=16 align=8 + base size=16 base align=8 +QCborArray::Iterator (0x0x7f4a47eabd80) 0 + +Class QCborArray::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborArray::ConstIterator (0x0x7f4a47eabde0) 0 + +Class QCborArray + size=8 align=8 + base size=8 base align=8 +QCborArray (0x0x7f4a47eabd20) 0 + +Class QCborMap::Iterator + size=16 align=8 + base size=16 base align=8 +QCborMap::Iterator (0x0x7f4a47c299c0) 0 + +Class QCborMap::ConstIterator + size=16 align=8 + base size=16 base align=8 +QCborMap::ConstIterator (0x0x7f4a47c29a20) 0 + +Class QCborMap + size=8 align=8 + base size=8 base align=8 +QCborMap (0x0x7f4a47c29960) 0 + +Class qfloat16::Wrap + size=2 align=2 + base size=2 base align=2 +qfloat16::Wrap (0x0x7f4a47a451e0) 0 + +Class qfloat16 + size=2 align=2 + base size=2 base align=2 +qfloat16 (0x0x7f4a47a45180) 0 + +Class QCborStreamWriter + size=8 align=8 + base size=8 base align=8 +QCborStreamWriter (0x0x7f4a47b0be40) 0 + +Class QCborStreamReader + size=24 align=8 + base size=20 base align=8 +QCborStreamReader (0x0x7f4a47b47ba0) 0 + +Class QCollatorSortKey + size=8 align=8 + base size=8 base align=8 +QCollatorSortKey (0x0x7f4a47bcbcc0) 0 + +Class QCollator + size=8 align=8 + base size=8 base align=8 +QCollator (0x0x7f4a47bcbea0) 0 + +Class QCommandLineOption + size=8 align=8 + base size=8 base align=8 +QCommandLineOption (0x0x7f4a478e54e0) 0 + +Vtable for QEvent +QEvent::_ZTV6QEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QEvent) +16 (int (*)(...))QEvent::~QEvent +24 (int (*)(...))QEvent::~QEvent + +Class QEvent + size=24 align=8 + base size=20 base align=8 +QEvent (0x0x7f4a479aaa20) 0 + vptr=((& QEvent::_ZTV6QEvent) + 16) + +Vtable for QTimerEvent +QTimerEvent::_ZTV11QTimerEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTimerEvent) +16 (int (*)(...))QTimerEvent::~QTimerEvent +24 (int (*)(...))QTimerEvent::~QTimerEvent + +Class QTimerEvent + size=24 align=8 + base size=24 base align=8 +QTimerEvent (0x0x7f4a479b00d0) 0 + vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16) + QEvent (0x0x7f4a479aade0) 0 + primary-for QTimerEvent (0x0x7f4a479b00d0) + +Vtable for QChildEvent +QChildEvent::_ZTV11QChildEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QChildEvent) +16 (int (*)(...))QChildEvent::~QChildEvent +24 (int (*)(...))QChildEvent::~QChildEvent + +Class QChildEvent + size=32 align=8 + base size=32 base align=8 +QChildEvent (0x0x7f4a479b0138) 0 + vptr=((& QChildEvent::_ZTV11QChildEvent) + 16) + QEvent (0x0x7f4a479aaea0) 0 + primary-for QChildEvent (0x0x7f4a479b0138) + +Vtable for QDynamicPropertyChangeEvent +QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent) +16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent +24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent + +Class QDynamicPropertyChangeEvent + size=32 align=8 + base size=32 base align=8 +QDynamicPropertyChangeEvent (0x0x7f4a479b0680) 0 + vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16) + QEvent (0x0x7f4a475f5540) 0 + primary-for QDynamicPropertyChangeEvent (0x0x7f4a479b0680) + +Vtable for QDeferredDeleteEvent +QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent) +16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent +24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent + +Class QDeferredDeleteEvent + size=24 align=8 + base size=24 base align=8 +QDeferredDeleteEvent (0x0x7f4a479b06e8) 0 + vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16) + QEvent (0x0x7f4a475f5600) 0 + primary-for QDeferredDeleteEvent (0x0x7f4a479b06e8) + +Class QCoreApplication::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QCoreApplication::QPrivateSignal (0x0x7f4a475f5720) 0 empty + +Vtable for QCoreApplication +QCoreApplication::_ZTV16QCoreApplication: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QCoreApplication) +16 (int (*)(...))QCoreApplication::metaObject +24 (int (*)(...))QCoreApplication::qt_metacast +32 (int (*)(...))QCoreApplication::qt_metacall +40 (int (*)(...))QCoreApplication::~QCoreApplication +48 (int (*)(...))QCoreApplication::~QCoreApplication +56 (int (*)(...))QCoreApplication::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QCoreApplication::notify +120 (int (*)(...))QCoreApplication::compressEvent + +Class QCoreApplication + size=16 align=8 + base size=16 base align=8 +QCoreApplication (0x0x7f4a479b0750) 0 + vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16) + QObject (0x0x7f4a475f56c0) 0 + primary-for QCoreApplication (0x0x7f4a479b0750) + +Class QCommandLineParser + size=8 align=8 + base size=8 base align=8 +QCommandLineParser (0x0x7f4a475f5960) 0 + +Class QConcatenateTablesProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f4a475f5ae0) 0 empty + +Vtable for QConcatenateTablesProxyModel +QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel) +16 (int (*)(...))QConcatenateTablesProxyModel::metaObject +24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast +32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall +40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QConcatenateTablesProxyModel::index +120 (int (*)(...))QConcatenateTablesProxyModel::parent +128 (int (*)(...))QAbstractItemModel::sibling +136 (int (*)(...))QConcatenateTablesProxyModel::rowCount +144 (int (*)(...))QConcatenateTablesProxyModel::columnCount +152 (int (*)(...))QAbstractItemModel::hasChildren +160 (int (*)(...))QConcatenateTablesProxyModel::data +168 (int (*)(...))QConcatenateTablesProxyModel::setData +176 (int (*)(...))QConcatenateTablesProxyModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QConcatenateTablesProxyModel::itemData +200 (int (*)(...))QConcatenateTablesProxyModel::setItemData +208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes +216 (int (*)(...))QConcatenateTablesProxyModel::mimeData +224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData +232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData +240 (int (*)(...))QAbstractItemModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QAbstractItemModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QAbstractItemModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QConcatenateTablesProxyModel::flags +328 (int (*)(...))QAbstractItemModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QConcatenateTablesProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QConcatenateTablesProxyModel + size=16 align=8 + base size=16 base align=8 +QConcatenateTablesProxyModel (0x0x7f4a479b07b8) 0 + vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16) + QAbstractItemModel (0x0x7f4a479b0820) 0 + primary-for QConcatenateTablesProxyModel (0x0x7f4a479b07b8) + QObject (0x0x7f4a475f5a80) 0 + primary-for QAbstractItemModel (0x0x7f4a479b0820) + +Class QCryptographicHash + size=8 align=8 + base size=8 base align=8 +QCryptographicHash (0x0x7f4a475f5cc0) 0 + +Class QDataStream + size=32 align=8 + base size=32 base align=8 +QDataStream (0x0x7f4a475f5de0) 0 + +Class QtPrivate::StreamStateSaver + size=16 align=8 + base size=12 base align=8 +QtPrivate::StreamStateSaver (0x0x7f4a475f5f60) 0 + +Class QElapsedTimer + size=16 align=8 + base size=16 base align=8 +QElapsedTimer (0x0x7f4a476bb6c0) 0 + +Class QDeadlineTimer + size=16 align=8 + base size=16 base align=8 +QDeadlineTimer (0x0x7f4a476bbde0) 0 + +Class QFileDevice::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileDevice::QPrivateSignal (0x0x7f4a47406ae0) 0 empty + +Vtable for QFileDevice +QFileDevice::_ZTV11QFileDevice: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFileDevice) +16 (int (*)(...))QFileDevice::metaObject +24 (int (*)(...))QFileDevice::qt_metacast +32 (int (*)(...))QFileDevice::qt_metacall +40 (int (*)(...))QFileDevice::~QFileDevice +48 (int (*)(...))QFileDevice::~QFileDevice +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFileDevice::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QFileDevice + size=16 align=8 + base size=16 base align=8 +QFileDevice (0x0x7f4a47405a28) 0 + vptr=((& QFileDevice::_ZTV11QFileDevice) + 16) + QIODevice (0x0x7f4a47405a90) 0 + primary-for QFileDevice (0x0x7f4a47405a28) + QObject (0x0x7f4a47406a80) 0 + primary-for QIODevice (0x0x7f4a47405a90) + +Class QFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFile::QPrivateSignal (0x0x7f4a4744d420) 0 empty + +Vtable for QFile +QFile::_ZTV5QFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QFile) +16 (int (*)(...))QFile::metaObject +24 (int (*)(...))QFile::qt_metacast +32 (int (*)(...))QFile::qt_metacall +40 (int (*)(...))QFile::~QFile +48 (int (*)(...))QFile::~QFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QFile + size=16 align=8 + base size=16 base align=8 +QFile (0x0x7f4a47405bc8) 0 + vptr=((& QFile::_ZTV5QFile) + 16) + QFileDevice (0x0x7f4a47405c30) 0 + primary-for QFile (0x0x7f4a47405bc8) + QIODevice (0x0x7f4a47405c98) 0 + primary-for QFileDevice (0x0x7f4a47405c30) + QObject (0x0x7f4a4744d3c0) 0 + primary-for QIODevice (0x0x7f4a47405c98) + +Class QFileInfo + size=8 align=8 + base size=8 base align=8 +QFileInfo (0x0x7f4a4744da80) 0 + +Class QDir + size=8 align=8 + base size=8 base align=8 +QDir (0x0x7f4a47546960) 0 + +Class QDirIterator + size=8 align=8 + base size=8 base align=8 +QDirIterator (0x0x7f4a4725f960) 0 + +Class QEasingCurve + size=8 align=8 + base size=8 base align=8 +QEasingCurve (0x0x7f4a472b9120) 0 + +Class QEventTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QEventTransition::QPrivateSignal (0x0x7f4a473b8240) 0 empty + +Vtable for QEventTransition +QEventTransition::_ZTV16QEventTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QEventTransition) +16 (int (*)(...))QEventTransition::metaObject +24 (int (*)(...))QEventTransition::qt_metacast +32 (int (*)(...))QEventTransition::qt_metacall +40 (int (*)(...))QEventTransition::~QEventTransition +48 (int (*)(...))QEventTransition::~QEventTransition +56 (int (*)(...))QEventTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QEventTransition::eventTest +120 (int (*)(...))QEventTransition::onTransition + +Class QEventTransition + size=16 align=8 + base size=16 base align=8 +QEventTransition (0x0x7f4a47375958) 0 + vptr=((& QEventTransition::_ZTV16QEventTransition) + 16) + QAbstractTransition (0x0x7f4a473759c0) 0 + primary-for QEventTransition (0x0x7f4a47375958) + QObject (0x0x7f4a473b81e0) 0 + primary-for QAbstractTransition (0x0x7f4a473759c0) + +Vtable for QException +QException::_ZTV10QException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QException) +16 (int (*)(...))QException::~QException +24 (int (*)(...))QException::~QException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QException::raise +48 (int (*)(...))QException::clone + +Class QException + size=8 align=8 + base size=8 base align=8 +QException (0x0x7f4a47375a28) 0 nearly-empty + vptr=((& QException::_ZTV10QException) + 16) + std::exception (0x0x7f4a473b8420) 0 nearly-empty + primary-for QException (0x0x7f4a47375a28) + +Vtable for QUnhandledException +QUnhandledException::_ZTV19QUnhandledException: 7 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QUnhandledException) +16 (int (*)(...))QUnhandledException::~QUnhandledException +24 (int (*)(...))QUnhandledException::~QUnhandledException +32 (int (*)(...))std::exception::what +40 (int (*)(...))QUnhandledException::raise +48 (int (*)(...))QUnhandledException::clone + +Class QUnhandledException + size=8 align=8 + base size=8 base align=8 +QUnhandledException (0x0x7f4a47375a90) 0 nearly-empty + vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16) + QException (0x0x7f4a47375af8) 0 nearly-empty + primary-for QUnhandledException (0x0x7f4a47375a90) + std::exception (0x0x7f4a473b8480) 0 nearly-empty + primary-for QException (0x0x7f4a47375af8) + +Class QtPrivate::ExceptionHolder + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionHolder (0x0x7f4a473b84e0) 0 + +Class QtPrivate::ExceptionStore + size=8 align=8 + base size=8 base align=8 +QtPrivate::ExceptionStore (0x0x7f4a473b85a0) 0 + +Vtable for QFactoryInterface +QFactoryInterface::_ZTV17QFactoryInterface: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QFactoryInterface) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QFactoryInterface + size=8 align=8 + base size=8 base align=8 +QFactoryInterface (0x0x7f4a473b8600) 0 nearly-empty + vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16) + +Class QFileSelector::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSelector::QPrivateSignal (0x0x7f4a473b8840) 0 empty + +Vtable for QFileSelector +QFileSelector::_ZTV13QFileSelector: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QFileSelector) +16 (int (*)(...))QFileSelector::metaObject +24 (int (*)(...))QFileSelector::qt_metacast +32 (int (*)(...))QFileSelector::qt_metacall +40 (int (*)(...))QFileSelector::~QFileSelector +48 (int (*)(...))QFileSelector::~QFileSelector +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSelector + size=16 align=8 + base size=16 base align=8 +QFileSelector (0x0x7f4a47375b60) 0 + vptr=((& QFileSelector::_ZTV13QFileSelector) + 16) + QObject (0x0x7f4a473b87e0) 0 + primary-for QFileSelector (0x0x7f4a47375b60) + +Class QFileSystemWatcher::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFileSystemWatcher::QPrivateSignal (0x0x7f4a473b8a80) 0 empty + +Vtable for QFileSystemWatcher +QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFileSystemWatcher) +16 (int (*)(...))QFileSystemWatcher::metaObject +24 (int (*)(...))QFileSystemWatcher::qt_metacast +32 (int (*)(...))QFileSystemWatcher::qt_metacall +40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QFileSystemWatcher + size=16 align=8 + base size=16 base align=8 +QFileSystemWatcher (0x0x7f4a47375bc8) 0 + vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16) + QObject (0x0x7f4a473b8a20) 0 + primary-for QFileSystemWatcher (0x0x7f4a47375bc8) + +Class QFinalState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFinalState::QPrivateSignal (0x0x7f4a473b8cc0) 0 empty + +Vtable for QFinalState +QFinalState::_ZTV11QFinalState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QFinalState) +16 (int (*)(...))QFinalState::metaObject +24 (int (*)(...))QFinalState::qt_metacast +32 (int (*)(...))QFinalState::qt_metacall +40 (int (*)(...))QFinalState::~QFinalState +48 (int (*)(...))QFinalState::~QFinalState +56 (int (*)(...))QFinalState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFinalState::onEntry +120 (int (*)(...))QFinalState::onExit + +Class QFinalState + size=16 align=8 + base size=16 base align=8 +QFinalState (0x0x7f4a47375c30) 0 + vptr=((& QFinalState::_ZTV11QFinalState) + 16) + QAbstractState (0x0x7f4a47375c98) 0 + primary-for QFinalState (0x0x7f4a47375c30) + QObject (0x0x7f4a473b8c60) 0 + primary-for QAbstractState (0x0x7f4a47375c98) + +Vtable for QRunnable +QRunnable::_ZTV9QRunnable: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QRunnable) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class QRunnable + size=16 align=8 + base size=12 base align=8 +QRunnable (0x0x7f4a473b8ea0) 0 + vptr=((& QRunnable::_ZTV9QRunnable) + 16) + +Class QBasicMutex + size=8 align=8 + base size=8 base align=8 +QBasicMutex (0x0x7f4a46fdc180) 0 + +Class QMutex + size=8 align=8 + base size=8 base align=8 +QMutex (0x0x7f4a47375d68) 0 + QBasicMutex (0x0x7f4a46fdcde0) 0 + +Class QRecursiveMutex + size=8 align=8 + base size=8 base align=8 +QRecursiveMutex (0x0x7f4a47375dd0) 0 + QMutex (0x0x7f4a47375e38) 0 + QBasicMutex (0x0x7f4a47060060) 0 + +Class QMutexLocker + size=8 align=8 + base size=8 base align=8 +QMutexLocker (0x0x7f4a470600c0) 0 + +Class QtPrivate::ResultItem + size=16 align=8 + base size=16 base align=8 +QtPrivate::ResultItem (0x0x7f4a470606c0) 0 + +Class QtPrivate::ResultIteratorBase + size=16 align=8 + base size=12 base align=8 +QtPrivate::ResultIteratorBase (0x0x7f4a47060cc0) 0 + +Vtable for QtPrivate::ResultStoreBase +QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE) +16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase +24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase + +Class QtPrivate::ResultStoreBase + size=48 align=8 + base size=44 base align=8 +QtPrivate::ResultStoreBase (0x0x7f4a47060ea0) 0 + vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16) + +Class std::__mutex_base + size=40 align=8 + base size=40 base align=8 +std::__mutex_base (0x0x7f4a470fc6c0) 0 + +Class std::mutex + size=40 align=8 + base size=40 base align=8 +std::mutex (0x0x7f4a470fa750) 0 + std::__mutex_base (0x0x7f4a470fc720) 0 + +Class std::defer_lock_t + size=1 align=1 + base size=0 base align=1 +std::defer_lock_t (0x0x7f4a470fc900) 0 empty + +Class std::try_to_lock_t + size=1 align=1 + base size=0 base align=1 +std::try_to_lock_t (0x0x7f4a470fc960) 0 empty + +Class std::adopt_lock_t + size=1 align=1 + base size=0 base align=1 +std::adopt_lock_t (0x0x7f4a470fc9c0) 0 empty + +Class std::__recursive_mutex_base + size=40 align=8 + base size=40 base align=8 +std::__recursive_mutex_base (0x0x7f4a47131420) 0 + +Class std::recursive_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_mutex (0x0x7f4a470fa7b8) 0 + std::__recursive_mutex_base (0x0x7f4a47131480) 0 + +Class std::timed_mutex + size=40 align=8 + base size=40 base align=8 +std::timed_mutex (0x0x7f4a47101b60) 0 + std::__mutex_base (0x0x7f4a47131840) 0 + std::__timed_mutex_impl (0x0x7f4a471318a0) 0 empty + +Class std::recursive_timed_mutex + size=40 align=8 + base size=40 base align=8 +std::recursive_timed_mutex (0x0x7f4a47101ee0) 0 + std::__recursive_mutex_base (0x0x7f4a47131c00) 0 + std::__timed_mutex_impl (0x0x7f4a47131c60) 0 empty + +Class std::once_flag + size=4 align=4 + base size=4 base align=4 +std::once_flag (0x0x7f4a471713c0) 0 + +Vtable for QFutureInterfaceBase +QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QFutureInterfaceBase) +16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase +24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase + +Class QFutureInterfaceBase + size=16 align=8 + base size=16 base align=8 +QFutureInterfaceBase (0x0x7f4a47171600) 0 + vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16) + +Class QFutureWatcherBase::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QFutureWatcherBase::QPrivateSignal (0x0x7f4a46e23960) 0 empty + +Vtable for QFutureWatcherBase +QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QFutureWatcherBase) +16 (int (*)(...))QFutureWatcherBase::metaObject +24 (int (*)(...))QFutureWatcherBase::qt_metacast +32 (int (*)(...))QFutureWatcherBase::qt_metacall +40 0 +48 0 +56 (int (*)(...))QFutureWatcherBase::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QFutureWatcherBase::connectNotify +104 (int (*)(...))QFutureWatcherBase::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QFutureWatcherBase + size=16 align=8 + base size=16 base align=8 +QFutureWatcherBase (0x0x7f4a46dbd5b0) 0 + vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16) + QObject (0x0x7f4a46e23900) 0 + primary-for QFutureWatcherBase (0x0x7f4a46dbd5b0) + +Class QHistoryState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHistoryState::QPrivateSignal (0x0x7f4a46e51cc0) 0 empty + +Vtable for QHistoryState +QHistoryState::_ZTV13QHistoryState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QHistoryState) +16 (int (*)(...))QHistoryState::metaObject +24 (int (*)(...))QHistoryState::qt_metacast +32 (int (*)(...))QHistoryState::qt_metacall +40 (int (*)(...))QHistoryState::~QHistoryState +48 (int (*)(...))QHistoryState::~QHistoryState +56 (int (*)(...))QHistoryState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QHistoryState::onEntry +120 (int (*)(...))QHistoryState::onExit + +Class QHistoryState + size=16 align=8 + base size=16 base align=8 +QHistoryState (0x0x7f4a46dbddd0) 0 + vptr=((& QHistoryState::_ZTV13QHistoryState) + 16) + QAbstractState (0x0x7f4a46dbde38) 0 + primary-for QHistoryState (0x0x7f4a46dbddd0) + QObject (0x0x7f4a46e51c60) 0 + primary-for QAbstractState (0x0x7f4a46dbde38) + +Class QIdentityProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QIdentityProxyModel::QPrivateSignal (0x0x7f4a46e7e000) 0 empty + +Vtable for QIdentityProxyModel +QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QIdentityProxyModel) +16 (int (*)(...))QIdentityProxyModel::metaObject +24 (int (*)(...))QIdentityProxyModel::qt_metacast +32 (int (*)(...))QIdentityProxyModel::qt_metacall +40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QIdentityProxyModel::index +120 (int (*)(...))QIdentityProxyModel::parent +128 (int (*)(...))QIdentityProxyModel::sibling +136 (int (*)(...))QIdentityProxyModel::rowCount +144 (int (*)(...))QIdentityProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QIdentityProxyModel::headerData +184 (int (*)(...))QAbstractProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QIdentityProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QIdentityProxyModel::insertRows +264 (int (*)(...))QIdentityProxyModel::insertColumns +272 (int (*)(...))QIdentityProxyModel::removeRows +280 (int (*)(...))QIdentityProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QAbstractProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QIdentityProxyModel::match +352 (int (*)(...))QAbstractProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QIdentityProxyModel::setSourceModel +392 (int (*)(...))QIdentityProxyModel::mapToSource +400 (int (*)(...))QIdentityProxyModel::mapFromSource +408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource +416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource + +Class QIdentityProxyModel + size=16 align=8 + base size=16 base align=8 +QIdentityProxyModel (0x0x7f4a46dbdea0) 0 + vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16) + QAbstractProxyModel (0x0x7f4a46dbdf08) 0 + primary-for QIdentityProxyModel (0x0x7f4a46dbdea0) + QAbstractItemModel (0x0x7f4a46dbdf70) 0 + primary-for QAbstractProxyModel (0x0x7f4a46dbdf08) + QObject (0x0x7f4a46e51f60) 0 + primary-for QAbstractItemModel (0x0x7f4a46dbdf70) + +Class QItemSelectionRange + size=16 align=8 + base size=16 base align=8 +QItemSelectionRange (0x0x7f4a46e7e1e0) 0 + +Class QItemSelectionModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QItemSelectionModel::QPrivateSignal (0x0x7f4a46f37ae0) 0 empty + +Vtable for QItemSelectionModel +QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QItemSelectionModel) +16 (int (*)(...))QItemSelectionModel::metaObject +24 (int (*)(...))QItemSelectionModel::qt_metacast +32 (int (*)(...))QItemSelectionModel::qt_metacall +40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QItemSelectionModel::setCurrentIndex +120 (int (*)(...))QItemSelectionModel::select +128 (int (*)(...))QItemSelectionModel::select +136 (int (*)(...))QItemSelectionModel::clear +144 (int (*)(...))QItemSelectionModel::reset +152 (int (*)(...))QItemSelectionModel::clearCurrentIndex + +Class QItemSelectionModel + size=16 align=8 + base size=16 base align=8 +QItemSelectionModel (0x0x7f4a46f3a8f0) 0 + vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16) + QObject (0x0x7f4a46f37a80) 0 + primary-for QItemSelectionModel (0x0x7f4a46f3a8f0) + +Class QItemSelection + size=8 align=8 + base size=8 base align=8 +QItemSelection (0x0x7f4a46f3aa90) 0 + QList (0x0x7f4a46f3aaf8) 0 + QListSpecialMethods (0x0x7f4a46f79600) 0 empty + +Class QJsonValue + size=24 align=8 + base size=20 base align=8 +QJsonValue (0x0x7f4a46be3f00) 0 + +Class QJsonValueRef + size=16 align=8 + base size=12 base align=8 +QJsonValueRef (0x0x7f4a46d3bba0) 0 + +Class QJsonValuePtr + size=24 align=8 + base size=24 base align=8 +QJsonValuePtr (0x0x7f4a46d71b40) 0 + +Class QJsonValueRefPtr + size=16 align=8 + base size=16 base align=8 +QJsonValueRefPtr (0x0x7f4a46d71de0) 0 + +Class QJsonArray::iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::iterator (0x0x7f4a4696b180) 0 + +Class QJsonArray::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonArray::const_iterator (0x0x7f4a4696b1e0) 0 + +Class QJsonArray + size=16 align=8 + base size=16 base align=8 +QJsonArray (0x0x7f4a4696b120) 0 + +Class QJsonParseError + size=8 align=4 + base size=8 base align=4 +QJsonParseError (0x0x7f4a46a9c0c0) 0 + +Class QJsonDocument + size=8 align=8 + base size=8 base align=8 +QJsonDocument (0x0x7f4a46a9c120) 0 + +Class QJsonObject::iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::iterator (0x0x7f4a46aef900) 0 + +Class QJsonObject::const_iterator + size=16 align=8 + base size=12 base align=8 +QJsonObject::const_iterator (0x0x7f4a46aef960) 0 + +Class QJsonObject + size=16 align=8 + base size=16 base align=8 +QJsonObject (0x0x7f4a46aef8a0) 0 + +Class QLibrary::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLibrary::QPrivateSignal (0x0x7f4a46807d80) 0 empty + +Vtable for QLibrary +QLibrary::_ZTV8QLibrary: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QLibrary) +16 (int (*)(...))QLibrary::metaObject +24 (int (*)(...))QLibrary::qt_metacast +32 (int (*)(...))QLibrary::qt_metacall +40 (int (*)(...))QLibrary::~QLibrary +48 (int (*)(...))QLibrary::~QLibrary +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QLibrary + size=32 align=8 + base size=25 base align=8 +QLibrary (0x0x7f4a46815750) 0 + vptr=((& QLibrary::_ZTV8QLibrary) + 16) + QObject (0x0x7f4a46807d20) 0 + primary-for QLibrary (0x0x7f4a46815750) + +Class QVersionNumber::SegmentStorage + size=8 align=8 + base size=8 base align=8 +QVersionNumber::SegmentStorage (0x0x7f4a4683ac00) 0 + +Class QVersionNumber + size=8 align=8 + base size=8 base align=8 +QVersionNumber (0x0x7f4a4683a720) 0 + +Class QLibraryInfo + size=1 align=1 + base size=0 base align=1 +QLibraryInfo (0x0x7f4a4690a3c0) 0 empty + +Class QPoint + size=8 align=4 + base size=8 base align=4 +QPoint (0x0x7f4a4690a420) 0 + +Class QPointF + size=16 align=8 + base size=16 base align=8 +QPointF (0x0x7f4a465862a0) 0 + +Class QLine + size=16 align=4 + base size=16 base align=4 +QLine (0x0x7f4a465f3480) 0 + +Class QLineF + size=32 align=8 + base size=32 base align=8 +QLineF (0x0x7f4a46660840) 0 + +Class QLinkedListData + size=32 align=8 + base size=25 base align=8 +QLinkedListData (0x0x7f4a466dbae0) 0 + +Class QLockFile + size=8 align=8 + base size=8 base align=8 +QLockFile (0x0x7f4a463a3060) 0 + +Class QLoggingCategory::AtomicBools + size=4 align=1 + base size=4 base align=1 +QLoggingCategory::AtomicBools (0x0x7f4a463a32a0) 0 + +Class QLoggingCategory + size=24 align=8 + base size=24 base align=8 +QLoggingCategory (0x0x7f4a463a3240) 0 + +Class QMargins + size=16 align=4 + base size=16 base align=4 +QMargins (0x0x7f4a463a36c0) 0 + +Class QMarginsF + size=32 align=8 + base size=32 base align=8 +QMarginsF (0x0x7f4a46468600) 0 + +Class QMessageAuthenticationCode + size=8 align=8 + base size=8 base align=8 +QMessageAuthenticationCode (0x0x7f4a462a8de0) 0 + +Class QMetaMethod + size=16 align=8 + base size=12 base align=8 +QMetaMethod (0x0x7f4a462a8e40) 0 + +Class QMetaEnum + size=16 align=8 + base size=12 base align=8 +QMetaEnum (0x0x7f4a45eb36c0) 0 + +Class QMetaProperty + size=32 align=8 + base size=32 base align=8 +QMetaProperty (0x0x7f4a45ef88a0) 0 + +Class QMetaClassInfo + size=16 align=8 + base size=12 base align=8 +QMetaClassInfo (0x0x7f4a45ef89c0) 0 + +Class QMimeData::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QMimeData::QPrivateSignal (0x0x7f4a45f38f60) 0 empty + +Vtable for QMimeData +QMimeData::_ZTV9QMimeData: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QMimeData) +16 (int (*)(...))QMimeData::metaObject +24 (int (*)(...))QMimeData::qt_metacast +32 (int (*)(...))QMimeData::qt_metacall +40 (int (*)(...))QMimeData::~QMimeData +48 (int (*)(...))QMimeData::~QMimeData +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QMimeData::hasFormat +120 (int (*)(...))QMimeData::formats +128 (int (*)(...))QMimeData::retrieveData + +Class QMimeData + size=16 align=8 + base size=16 base align=8 +QMimeData (0x0x7f4a45f4a3a8) 0 + vptr=((& QMimeData::_ZTV9QMimeData) + 16) + QObject (0x0x7f4a45f38f00) 0 + primary-for QMimeData (0x0x7f4a45f4a3a8) + +Class QMimeType + size=8 align=8 + base size=8 base align=8 +QMimeType (0x0x7f4a45f5b180) 0 + +Class QMimeDatabase + size=8 align=8 + base size=8 base align=8 +QMimeDatabase (0x0x7f4a460240c0) 0 + +Class QObjectCleanupHandler::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QObjectCleanupHandler::QPrivateSignal (0x0x7f4a46024180) 0 empty + +Vtable for QObjectCleanupHandler +QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QObjectCleanupHandler) +16 (int (*)(...))QObjectCleanupHandler::metaObject +24 (int (*)(...))QObjectCleanupHandler::qt_metacast +32 (int (*)(...))QObjectCleanupHandler::qt_metacall +40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QObjectCleanupHandler + size=24 align=8 + base size=24 base align=8 +QObjectCleanupHandler (0x0x7f4a4600af08) 0 + vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16) + QObject (0x0x7f4a46024120) 0 + primary-for QObjectCleanupHandler (0x0x7f4a4600af08) + +Class QOperatingSystemVersion + size=16 align=4 + base size=16 base align=4 +QOperatingSystemVersion (0x0x7f4a460242a0) 0 + +Class QParallelAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QParallelAnimationGroup::QPrivateSignal (0x0x7f4a46093a20) 0 empty + +Vtable for QParallelAnimationGroup +QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI23QParallelAnimationGroup) +16 (int (*)(...))QParallelAnimationGroup::metaObject +24 (int (*)(...))QParallelAnimationGroup::qt_metacast +32 (int (*)(...))QParallelAnimationGroup::qt_metacall +40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup +56 (int (*)(...))QParallelAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QParallelAnimationGroup::duration +120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime +128 (int (*)(...))QParallelAnimationGroup::updateState +136 (int (*)(...))QParallelAnimationGroup::updateDirection + +Class QParallelAnimationGroup + size=16 align=8 + base size=16 base align=8 +QParallelAnimationGroup (0x0x7f4a45c9a7b8) 0 + vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16) + QAnimationGroup (0x0x7f4a45c9a820) 0 + primary-for QParallelAnimationGroup (0x0x7f4a45c9a7b8) + QAbstractAnimation (0x0x7f4a45c9a888) 0 + primary-for QAnimationGroup (0x0x7f4a45c9a820) + QObject (0x0x7f4a460939c0) 0 + primary-for QAbstractAnimation (0x0x7f4a45c9a888) + +Class QPauseAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPauseAnimation::QPrivateSignal (0x0x7f4a46093c60) 0 empty + +Vtable for QPauseAnimation +QPauseAnimation::_ZTV15QPauseAnimation: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QPauseAnimation) +16 (int (*)(...))QPauseAnimation::metaObject +24 (int (*)(...))QPauseAnimation::qt_metacast +32 (int (*)(...))QPauseAnimation::qt_metacall +40 (int (*)(...))QPauseAnimation::~QPauseAnimation +48 (int (*)(...))QPauseAnimation::~QPauseAnimation +56 (int (*)(...))QPauseAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QPauseAnimation::duration +120 (int (*)(...))QPauseAnimation::updateCurrentTime +128 (int (*)(...))QAbstractAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection + +Class QPauseAnimation + size=16 align=8 + base size=16 base align=8 +QPauseAnimation (0x0x7f4a45c9a8f0) 0 + vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16) + QAbstractAnimation (0x0x7f4a45c9a958) 0 + primary-for QPauseAnimation (0x0x7f4a45c9a8f0) + QObject (0x0x7f4a46093c00) 0 + primary-for QAbstractAnimation (0x0x7f4a45c9a958) + +Class QStaticPlugin + size=16 align=8 + base size=16 base align=8 +QStaticPlugin (0x0x7f4a45cc57e0) 0 + +Class QPluginLoader::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPluginLoader::QPrivateSignal (0x0x7f4a45d0d960) 0 empty + +Vtable for QPluginLoader +QPluginLoader::_ZTV13QPluginLoader: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QPluginLoader) +16 (int (*)(...))QPluginLoader::metaObject +24 (int (*)(...))QPluginLoader::qt_metacast +32 (int (*)(...))QPluginLoader::qt_metacall +40 (int (*)(...))QPluginLoader::~QPluginLoader +48 (int (*)(...))QPluginLoader::~QPluginLoader +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QPluginLoader + size=32 align=8 + base size=25 base align=8 +QPluginLoader (0x0x7f4a45d01c98) 0 + vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16) + QObject (0x0x7f4a45d0d900) 0 + primary-for QPluginLoader (0x0x7f4a45d01c98) + +Class QProcessEnvironment + size=8 align=8 + base size=8 base align=8 +QProcessEnvironment (0x0x7f4a45d0da80) 0 + +Class QProcess::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QProcess::QPrivateSignal (0x0x7f4a45dd6f00) 0 empty + +Vtable for QProcess +QProcess::_ZTV8QProcess: 31 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI8QProcess) +16 (int (*)(...))QProcess::metaObject +24 (int (*)(...))QProcess::qt_metacast +32 (int (*)(...))QProcess::qt_metacall +40 (int (*)(...))QProcess::~QProcess +48 (int (*)(...))QProcess::~QProcess +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QProcess::isSequential +120 (int (*)(...))QProcess::open +128 (int (*)(...))QProcess::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QProcess::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QProcess::bytesAvailable +184 (int (*)(...))QProcess::bytesToWrite +192 (int (*)(...))QProcess::canReadLine +200 (int (*)(...))QProcess::waitForReadyRead +208 (int (*)(...))QProcess::waitForBytesWritten +216 (int (*)(...))QProcess::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QProcess::writeData +240 (int (*)(...))QProcess::setupChildProcess + +Class QProcess + size=16 align=8 + base size=16 base align=8 +QProcess (0x0x7f4a45deb138) 0 + vptr=((& QProcess::_ZTV8QProcess) + 16) + QIODevice (0x0x7f4a45deb1a0) 0 + primary-for QProcess (0x0x7f4a45deb138) + QObject (0x0x7f4a45dd6ea0) 0 + primary-for QIODevice (0x0x7f4a45deb1a0) + +Class QVariantAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QVariantAnimation::QPrivateSignal (0x0x7f4a45e1a600) 0 empty + +Vtable for QVariantAnimation +QVariantAnimation::_ZTV17QVariantAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QVariantAnimation) +16 (int (*)(...))QVariantAnimation::metaObject +24 (int (*)(...))QVariantAnimation::qt_metacast +32 (int (*)(...))QVariantAnimation::qt_metacall +40 (int (*)(...))QVariantAnimation::~QVariantAnimation +48 (int (*)(...))QVariantAnimation::~QVariantAnimation +56 (int (*)(...))QVariantAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QVariantAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QVariantAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QVariantAnimation + size=16 align=8 + base size=16 base align=8 +QVariantAnimation (0x0x7f4a45deb208) 0 + vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16) + QAbstractAnimation (0x0x7f4a45deb270) 0 + primary-for QVariantAnimation (0x0x7f4a45deb208) + QObject (0x0x7f4a45e1a5a0) 0 + primary-for QAbstractAnimation (0x0x7f4a45deb270) + +Class QPropertyAnimation::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QPropertyAnimation::QPrivateSignal (0x0x7f4a45e1a8a0) 0 empty + +Vtable for QPropertyAnimation +QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI18QPropertyAnimation) +16 (int (*)(...))QPropertyAnimation::metaObject +24 (int (*)(...))QPropertyAnimation::qt_metacast +32 (int (*)(...))QPropertyAnimation::qt_metacall +40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation +56 (int (*)(...))QPropertyAnimation::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QVariantAnimation::duration +120 (int (*)(...))QVariantAnimation::updateCurrentTime +128 (int (*)(...))QPropertyAnimation::updateState +136 (int (*)(...))QAbstractAnimation::updateDirection +144 (int (*)(...))QPropertyAnimation::updateCurrentValue +152 (int (*)(...))QVariantAnimation::interpolated + +Class QPropertyAnimation + size=16 align=8 + base size=16 base align=8 +QPropertyAnimation (0x0x7f4a45deb340) 0 + vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16) + QVariantAnimation (0x0x7f4a45deb3a8) 0 + primary-for QPropertyAnimation (0x0x7f4a45deb340) + QAbstractAnimation (0x0x7f4a45deb410) 0 + primary-for QVariantAnimation (0x0x7f4a45deb3a8) + QObject (0x0x7f4a45e1a840) 0 + primary-for QAbstractAnimation (0x0x7f4a45deb410) + +Class std::random_device + size=5000 align=8 + base size=5000 base align=8 +std::random_device (0x0x7f4a45ac5000) 0 + +Class std::bernoulli_distribution::param_type + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution::param_type (0x0x7f4a45b9bd20) 0 + +Class std::bernoulli_distribution + size=8 align=8 + base size=8 base align=8 +std::bernoulli_distribution (0x0x7f4a45b9bcc0) 0 + +Class std::seed_seq + size=24 align=8 + base size=24 base align=8 +std::seed_seq (0x0x7f4a4598ba80) 0 + +Class QRandomGenerator::Storage + size=2504 align=8 + base size=2504 base align=8 +QRandomGenerator::Storage (0x0x7f4a457cc720) 0 + +Class QRandomGenerator + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator (0x0x7f4a457cc6c0) 0 + +Class QRandomGenerator64 + size=2512 align=8 + base size=2512 base align=8 +QRandomGenerator64 (0x0x7f4a4585f0d0) 0 + QRandomGenerator (0x0x7f4a45870240) 0 + +Class QReadWriteLock + size=8 align=8 + base size=8 base align=8 +QReadWriteLock (0x0x7f4a45870de0) 0 + +Class QReadLocker + size=8 align=8 + base size=8 base align=8 +QReadLocker (0x0x7f4a454f10c0) 0 + +Class QWriteLocker + size=8 align=8 + base size=8 base align=8 +QWriteLocker (0x0x7f4a454f15a0) 0 + +Class QSize + size=8 align=4 + base size=8 base align=4 +QSize (0x0x7f4a454f1a80) 0 + +Class QSizeF + size=16 align=8 + base size=16 base align=8 +QSizeF (0x0x7f4a45568960) 0 + +Class QRect + size=16 align=4 + base size=16 base align=4 +QRect (0x0x7f4a455e39c0) 0 + +Class QRectF + size=32 align=8 + base size=32 base align=8 +QRectF (0x0x7f4a45693a20) 0 + +Class QResource + size=8 align=8 + base size=8 base align=8 +QResource (0x0x7f4a45353b40) 0 + +Class QSaveFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSaveFile::QPrivateSignal (0x0x7f4a45353de0) 0 empty + +Vtable for QSaveFile +QSaveFile::_ZTV9QSaveFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSaveFile) +16 (int (*)(...))QSaveFile::metaObject +24 (int (*)(...))QSaveFile::qt_metacast +32 (int (*)(...))QSaveFile::qt_metacall +40 (int (*)(...))QSaveFile::~QSaveFile +48 (int (*)(...))QSaveFile::~QSaveFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QSaveFile::open +128 (int (*)(...))QSaveFile::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFileDevice::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QSaveFile::writeData +240 (int (*)(...))QSaveFile::fileName +248 (int (*)(...))QFileDevice::resize +256 (int (*)(...))QFileDevice::permissions +264 (int (*)(...))QFileDevice::setPermissions + +Class QSaveFile + size=16 align=8 + base size=16 base align=8 +QSaveFile (0x0x7f4a45314a90) 0 + vptr=((& QSaveFile::_ZTV9QSaveFile) + 16) + QFileDevice (0x0x7f4a45314af8) 0 + primary-for QSaveFile (0x0x7f4a45314a90) + QIODevice (0x0x7f4a45314b60) 0 + primary-for QFileDevice (0x0x7f4a45314af8) + QObject (0x0x7f4a45353d80) 0 + primary-for QIODevice (0x0x7f4a45314b60) + +Class QSemaphore + size=8 align=8 + base size=8 base align=8 +QSemaphore (0x0x7f4a453aa420) 0 + +Class QSemaphoreReleaser + size=16 align=8 + base size=12 base align=8 +QSemaphoreReleaser (0x0x7f4a453aa5a0) 0 + +Class QSequentialAnimationGroup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSequentialAnimationGroup::QPrivateSignal (0x0x7f4a4547e1e0) 0 empty + +Vtable for QSequentialAnimationGroup +QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup) +16 (int (*)(...))QSequentialAnimationGroup::metaObject +24 (int (*)(...))QSequentialAnimationGroup::qt_metacast +32 (int (*)(...))QSequentialAnimationGroup::qt_metacall +40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup +56 (int (*)(...))QSequentialAnimationGroup::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSequentialAnimationGroup::duration +120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime +128 (int (*)(...))QSequentialAnimationGroup::updateState +136 (int (*)(...))QSequentialAnimationGroup::updateDirection + +Class QSequentialAnimationGroup + size=16 align=8 + base size=16 base align=8 +QSequentialAnimationGroup (0x0x7f4a4547d340) 0 + vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16) + QAnimationGroup (0x0x7f4a4547d3a8) 0 + primary-for QSequentialAnimationGroup (0x0x7f4a4547d340) + QAbstractAnimation (0x0x7f4a4547d410) 0 + primary-for QAnimationGroup (0x0x7f4a4547d3a8) + QObject (0x0x7f4a4547e180) 0 + primary-for QAbstractAnimation (0x0x7f4a4547d410) + +Class QSettings::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSettings::QPrivateSignal (0x0x7f4a4547e420) 0 empty + +Vtable for QSettings +QSettings::_ZTV9QSettings: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QSettings) +16 (int (*)(...))QSettings::metaObject +24 (int (*)(...))QSettings::qt_metacast +32 (int (*)(...))QSettings::qt_metacall +40 (int (*)(...))QSettings::~QSettings +48 (int (*)(...))QSettings::~QSettings +56 (int (*)(...))QSettings::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSettings + size=16 align=8 + base size=16 base align=8 +QSettings (0x0x7f4a4547d478) 0 + vptr=((& QSettings::_ZTV9QSettings) + 16) + QObject (0x0x7f4a4547e3c0) 0 + primary-for QSettings (0x0x7f4a4547d478) + +Class QSharedMemory::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSharedMemory::QPrivateSignal (0x0x7f4a4547e8a0) 0 empty + +Vtable for QSharedMemory +QSharedMemory::_ZTV13QSharedMemory: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSharedMemory) +16 (int (*)(...))QSharedMemory::metaObject +24 (int (*)(...))QSharedMemory::qt_metacast +32 (int (*)(...))QSharedMemory::qt_metacall +40 (int (*)(...))QSharedMemory::~QSharedMemory +48 (int (*)(...))QSharedMemory::~QSharedMemory +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSharedMemory + size=16 align=8 + base size=16 base align=8 +QSharedMemory (0x0x7f4a4547d4e0) 0 + vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16) + QObject (0x0x7f4a4547e840) 0 + primary-for QSharedMemory (0x0x7f4a4547d4e0) + +Class QSignalMapper::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalMapper::QPrivateSignal (0x0x7f4a4547eae0) 0 empty + +Vtable for QSignalMapper +QSignalMapper::_ZTV13QSignalMapper: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QSignalMapper) +16 (int (*)(...))QSignalMapper::metaObject +24 (int (*)(...))QSignalMapper::qt_metacast +32 (int (*)(...))QSignalMapper::qt_metacall +40 (int (*)(...))QSignalMapper::~QSignalMapper +48 (int (*)(...))QSignalMapper::~QSignalMapper +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSignalMapper + size=16 align=8 + base size=16 base align=8 +QSignalMapper (0x0x7f4a4547d548) 0 + vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16) + QObject (0x0x7f4a4547ea80) 0 + primary-for QSignalMapper (0x0x7f4a4547d548) + +Class QSignalTransition::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSignalTransition::QPrivateSignal (0x0x7f4a4547ed20) 0 empty + +Vtable for QSignalTransition +QSignalTransition::_ZTV17QSignalTransition: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QSignalTransition) +16 (int (*)(...))QSignalTransition::metaObject +24 (int (*)(...))QSignalTransition::qt_metacast +32 (int (*)(...))QSignalTransition::qt_metacall +40 (int (*)(...))QSignalTransition::~QSignalTransition +48 (int (*)(...))QSignalTransition::~QSignalTransition +56 (int (*)(...))QSignalTransition::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSignalTransition::eventTest +120 (int (*)(...))QSignalTransition::onTransition + +Class QSignalTransition + size=16 align=8 + base size=16 base align=8 +QSignalTransition (0x0x7f4a4547d5b0) 0 + vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16) + QAbstractTransition (0x0x7f4a4547d618) 0 + primary-for QSignalTransition (0x0x7f4a4547d5b0) + QObject (0x0x7f4a4547ecc0) 0 + primary-for QAbstractTransition (0x0x7f4a4547d618) + +Class QSocketNotifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSocketNotifier::QPrivateSignal (0x0x7f4a450e8000) 0 empty + +Vtable for QSocketNotifier +QSocketNotifier::_ZTV15QSocketNotifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QSocketNotifier) +16 (int (*)(...))QSocketNotifier::metaObject +24 (int (*)(...))QSocketNotifier::qt_metacast +32 (int (*)(...))QSocketNotifier::qt_metacall +40 (int (*)(...))QSocketNotifier::~QSocketNotifier +48 (int (*)(...))QSocketNotifier::~QSocketNotifier +56 (int (*)(...))QSocketNotifier::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QSocketNotifier + size=16 align=8 + base size=16 base align=8 +QSocketNotifier (0x0x7f4a4547d680) 0 + vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16) + QObject (0x0x7f4a4547ef60) 0 + primary-for QSocketNotifier (0x0x7f4a4547d680) + +Class QSortFilterProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSortFilterProxyModel::QPrivateSignal (0x0x7f4a450e8240) 0 empty + +Vtable for QSortFilterProxyModel +QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QSortFilterProxyModel) +16 (int (*)(...))QSortFilterProxyModel::metaObject +24 (int (*)(...))QSortFilterProxyModel::qt_metacast +32 (int (*)(...))QSortFilterProxyModel::qt_metacall +40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QSortFilterProxyModel::index +120 (int (*)(...))QSortFilterProxyModel::parent +128 (int (*)(...))QSortFilterProxyModel::sibling +136 (int (*)(...))QSortFilterProxyModel::rowCount +144 (int (*)(...))QSortFilterProxyModel::columnCount +152 (int (*)(...))QSortFilterProxyModel::hasChildren +160 (int (*)(...))QSortFilterProxyModel::data +168 (int (*)(...))QSortFilterProxyModel::setData +176 (int (*)(...))QSortFilterProxyModel::headerData +184 (int (*)(...))QSortFilterProxyModel::setHeaderData +192 (int (*)(...))QAbstractProxyModel::itemData +200 (int (*)(...))QAbstractProxyModel::setItemData +208 (int (*)(...))QSortFilterProxyModel::mimeTypes +216 (int (*)(...))QSortFilterProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QSortFilterProxyModel::dropMimeData +240 (int (*)(...))QSortFilterProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QSortFilterProxyModel::insertRows +264 (int (*)(...))QSortFilterProxyModel::insertColumns +272 (int (*)(...))QSortFilterProxyModel::removeRows +280 (int (*)(...))QSortFilterProxyModel::removeColumns +288 (int (*)(...))QAbstractItemModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QSortFilterProxyModel::fetchMore +312 (int (*)(...))QSortFilterProxyModel::canFetchMore +320 (int (*)(...))QSortFilterProxyModel::flags +328 (int (*)(...))QSortFilterProxyModel::sort +336 (int (*)(...))QSortFilterProxyModel::buddy +344 (int (*)(...))QSortFilterProxyModel::match +352 (int (*)(...))QSortFilterProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QSortFilterProxyModel::setSourceModel +392 (int (*)(...))QSortFilterProxyModel::mapToSource +400 (int (*)(...))QSortFilterProxyModel::mapFromSource +408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource +416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource +424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow +432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn +440 (int (*)(...))QSortFilterProxyModel::lessThan + +Class QSortFilterProxyModel + size=16 align=8 + base size=16 base align=8 +QSortFilterProxyModel (0x0x7f4a4547d6e8) 0 + vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16) + QAbstractProxyModel (0x0x7f4a4547d750) 0 + primary-for QSortFilterProxyModel (0x0x7f4a4547d6e8) + QAbstractItemModel (0x0x7f4a4547d7b8) 0 + primary-for QAbstractProxyModel (0x0x7f4a4547d750) + QObject (0x0x7f4a450e81e0) 0 + primary-for QAbstractItemModel (0x0x7f4a4547d7b8) + +Class QStandardPaths + size=1 align=1 + base size=0 base align=1 +QStandardPaths (0x0x7f4a450e8660) 0 empty + +Class QState::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QState::QPrivateSignal (0x0x7f4a450e8f60) 0 empty + +Vtable for QState +QState::_ZTV6QState: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QState) +16 (int (*)(...))QState::metaObject +24 (int (*)(...))QState::qt_metacast +32 (int (*)(...))QState::qt_metacall +40 (int (*)(...))QState::~QState +48 (int (*)(...))QState::~QState +56 (int (*)(...))QState::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QState::onEntry +120 (int (*)(...))QState::onExit + +Class QState + size=16 align=8 + base size=16 base align=8 +QState (0x0x7f4a4547d958) 0 + vptr=((& QState::_ZTV6QState) + 16) + QAbstractState (0x0x7f4a4547d9c0) 0 + primary-for QState (0x0x7f4a4547d958) + QObject (0x0x7f4a450e8f00) 0 + primary-for QAbstractState (0x0x7f4a4547d9c0) + +Class QStateMachine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStateMachine::QPrivateSignal (0x0x7f4a45164420) 0 empty + +Vtable for QStateMachine::SignalEvent +QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE) +16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent +24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent + +Class QStateMachine::SignalEvent + size=48 align=8 + base size=48 base align=8 +QStateMachine::SignalEvent (0x0x7f4a4547db60) 0 + vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16) + QEvent (0x0x7f4a45164480) 0 + primary-for QStateMachine::SignalEvent (0x0x7f4a4547db60) + +Vtable for QStateMachine::WrappedEvent +QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE) +16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent +24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent + +Class QStateMachine::WrappedEvent + size=40 align=8 + base size=40 base align=8 +QStateMachine::WrappedEvent (0x0x7f4a4547dbc8) 0 + vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16) + QEvent (0x0x7f4a451644e0) 0 + primary-for QStateMachine::WrappedEvent (0x0x7f4a4547dbc8) + +Vtable for QStateMachine +QStateMachine::_ZTV13QStateMachine: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QStateMachine) +16 (int (*)(...))QStateMachine::metaObject +24 (int (*)(...))QStateMachine::qt_metacast +32 (int (*)(...))QStateMachine::qt_metacall +40 (int (*)(...))QStateMachine::~QStateMachine +48 (int (*)(...))QStateMachine::~QStateMachine +56 (int (*)(...))QStateMachine::event +64 (int (*)(...))QStateMachine::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QStateMachine::onEntry +120 (int (*)(...))QStateMachine::onExit +128 (int (*)(...))QStateMachine::beginSelectTransitions +136 (int (*)(...))QStateMachine::endSelectTransitions +144 (int (*)(...))QStateMachine::beginMicrostep +152 (int (*)(...))QStateMachine::endMicrostep + +Class QStateMachine + size=16 align=8 + base size=16 base align=8 +QStateMachine (0x0x7f4a4547da28) 0 + vptr=((& QStateMachine::_ZTV13QStateMachine) + 16) + QState (0x0x7f4a4547da90) 0 + primary-for QStateMachine (0x0x7f4a4547da28) + QAbstractState (0x0x7f4a4547daf8) 0 + primary-for QState (0x0x7f4a4547da90) + QObject (0x0x7f4a451643c0) 0 + primary-for QAbstractState (0x0x7f4a4547daf8) + +Class QStorageInfo + size=8 align=8 + base size=8 base align=8 +QStorageInfo (0x0x7f4a451648a0) 0 + +Class QAbstractConcatenable + size=1 align=1 + base size=0 base align=1 +QAbstractConcatenable (0x0x7f4a45272660) 0 empty + +Class QStringListModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QStringListModel::QPrivateSignal (0x0x7f4a44f029c0) 0 empty + +Vtable for QStringListModel +QStringListModel::_ZTV16QStringListModel: 48 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QStringListModel) +16 (int (*)(...))QStringListModel::metaObject +24 (int (*)(...))QStringListModel::qt_metacast +32 (int (*)(...))QStringListModel::qt_metacall +40 (int (*)(...))QStringListModel::~QStringListModel +48 (int (*)(...))QStringListModel::~QStringListModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractListModel::index +120 (int (*)(...))QAbstractListModel::parent +128 (int (*)(...))QStringListModel::sibling +136 (int (*)(...))QStringListModel::rowCount +144 (int (*)(...))QAbstractListModel::columnCount +152 (int (*)(...))QAbstractListModel::hasChildren +160 (int (*)(...))QStringListModel::data +168 (int (*)(...))QStringListModel::setData +176 (int (*)(...))QAbstractItemModel::headerData +184 (int (*)(...))QAbstractItemModel::setHeaderData +192 (int (*)(...))QStringListModel::itemData +200 (int (*)(...))QStringListModel::setItemData +208 (int (*)(...))QAbstractItemModel::mimeTypes +216 (int (*)(...))QAbstractItemModel::mimeData +224 (int (*)(...))QAbstractItemModel::canDropMimeData +232 (int (*)(...))QAbstractListModel::dropMimeData +240 (int (*)(...))QStringListModel::supportedDropActions +248 (int (*)(...))QAbstractItemModel::supportedDragActions +256 (int (*)(...))QStringListModel::insertRows +264 (int (*)(...))QAbstractItemModel::insertColumns +272 (int (*)(...))QStringListModel::removeRows +280 (int (*)(...))QAbstractItemModel::removeColumns +288 (int (*)(...))QStringListModel::moveRows +296 (int (*)(...))QAbstractItemModel::moveColumns +304 (int (*)(...))QAbstractItemModel::fetchMore +312 (int (*)(...))QAbstractItemModel::canFetchMore +320 (int (*)(...))QStringListModel::flags +328 (int (*)(...))QStringListModel::sort +336 (int (*)(...))QAbstractItemModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QAbstractItemModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractItemModel::submit +376 (int (*)(...))QAbstractItemModel::revert + +Class QStringListModel + size=24 align=8 + base size=24 base align=8 +QStringListModel (0x0x7f4a44ef84e0) 0 + vptr=((& QStringListModel::_ZTV16QStringListModel) + 16) + QAbstractListModel (0x0x7f4a44ef8548) 0 + primary-for QStringListModel (0x0x7f4a44ef84e0) + QAbstractItemModel (0x0x7f4a44ef85b0) 0 + primary-for QAbstractListModel (0x0x7f4a44ef8548) + QObject (0x0x7f4a44f02960) 0 + primary-for QAbstractItemModel (0x0x7f4a44ef85b0) + +Class QSystemSemaphore + size=8 align=8 + base size=8 base align=8 +QSystemSemaphore (0x0x7f4a44f02ae0) 0 + +Class QTemporaryDir + size=8 align=8 + base size=8 base align=8 +QTemporaryDir (0x0x7f4a44f02ba0) 0 + +Class QTemporaryFile::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTemporaryFile::QPrivateSignal (0x0x7f4a44f02cc0) 0 empty + +Vtable for QTemporaryFile +QTemporaryFile::_ZTV14QTemporaryFile: 34 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QTemporaryFile) +16 (int (*)(...))QTemporaryFile::metaObject +24 (int (*)(...))QTemporaryFile::qt_metacast +32 (int (*)(...))QTemporaryFile::qt_metacall +40 (int (*)(...))QTemporaryFile::~QTemporaryFile +48 (int (*)(...))QTemporaryFile::~QTemporaryFile +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QFileDevice::isSequential +120 (int (*)(...))QTemporaryFile::open +128 (int (*)(...))QFileDevice::close +136 (int (*)(...))QFileDevice::pos +144 (int (*)(...))QFile::size +152 (int (*)(...))QFileDevice::seek +160 (int (*)(...))QFileDevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))QFileDevice::readData +224 (int (*)(...))QFileDevice::readLineData +232 (int (*)(...))QFileDevice::writeData +240 (int (*)(...))QTemporaryFile::fileName +248 (int (*)(...))QFile::resize +256 (int (*)(...))QFile::permissions +264 (int (*)(...))QFile::setPermissions + +Class QTemporaryFile + size=16 align=8 + base size=16 base align=8 +QTemporaryFile (0x0x7f4a44ef8618) 0 + vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16) + QFile (0x0x7f4a44ef8680) 0 + primary-for QTemporaryFile (0x0x7f4a44ef8618) + QFileDevice (0x0x7f4a44ef86e8) 0 + primary-for QFile (0x0x7f4a44ef8680) + QIODevice (0x0x7f4a44ef8750) 0 + primary-for QFileDevice (0x0x7f4a44ef86e8) + QObject (0x0x7f4a44f02c60) 0 + primary-for QIODevice (0x0x7f4a44ef8750) + +Class QTextBoundaryFinder + size=48 align=8 + base size=48 base align=8 +QTextBoundaryFinder (0x0x7f4a44f5d060) 0 + +Class QTextCodec::ConverterState + size=32 align=8 + base size=32 base align=8 +QTextCodec::ConverterState (0x0x7f4a44f5d8a0) 0 + +Vtable for QTextCodec +QTextCodec::_ZTV10QTextCodec: 9 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTextCodec) +16 (int (*)(...))__cxa_pure_virtual +24 (int (*)(...))QTextCodec::aliases +32 (int (*)(...))__cxa_pure_virtual +40 (int (*)(...))__cxa_pure_virtual +48 (int (*)(...))__cxa_pure_virtual +56 0 +64 0 + +Class QTextCodec + size=8 align=8 + base size=8 base align=8 +QTextCodec (0x0x7f4a44f5d840) 0 nearly-empty + vptr=((& QTextCodec::_ZTV10QTextCodec) + 16) + +Class QTextEncoder + size=40 align=8 + base size=40 base align=8 +QTextEncoder (0x0x7f4a44fc82a0) 0 + +Class QTextDecoder + size=40 align=8 + base size=40 base align=8 +QTextDecoder (0x0x7f4a44fc8480) 0 + +Vtable for std::thread::_State +std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt6thread6_StateE) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class std::thread::_State + size=8 align=8 + base size=8 base align=8 +std::thread::_State (0x0x7f4a44fc86c0) 0 nearly-empty + vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16) + +Class std::thread::id + size=8 align=8 + base size=8 base align=8 +std::thread::id (0x0x7f4a44fc8720) 0 + +Class std::thread + size=8 align=8 + base size=8 base align=8 +std::thread (0x0x7f4a44fc8660) 0 + +Class std::condition_variable + size=48 align=8 + base size=48 base align=8 +std::condition_variable (0x0x7f4a44e63ae0) 0 + +Class std::__at_thread_exit_elt + size=16 align=8 + base size=16 base align=8 +std::__at_thread_exit_elt (0x0x7f4a44e63ea0) 0 + +Class std::_V2::condition_variable_any + size=64 align=8 + base size=64 base align=8 +std::_V2::condition_variable_any (0x0x7f4a44e63f00) 0 + +Class std::__atomic_futex_unsigned_base + size=1 align=1 + base size=0 base align=1 +std::__atomic_futex_unsigned_base (0x0x7f4a44c1d240) 0 empty + +Vtable for std::future_error +std::future_error::_ZTVSt12future_error: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTISt12future_error) +16 (int (*)(...))std::future_error::~future_error +24 (int (*)(...))std::future_error::~future_error +32 (int (*)(...))std::future_error::what + +Class std::future_error + size=32 align=8 + base size=32 base align=8 +std::future_error (0x0x7f4a44c03af8) 0 + vptr=((& std::future_error::_ZTVSt12future_error) + 16) + std::logic_error (0x0x7f4a44c03b60) 0 + primary-for std::future_error (0x0x7f4a44c03af8) + std::exception (0x0x7f4a44c1d960) 0 nearly-empty + primary-for std::logic_error (0x0x7f4a44c03b60) + +Class std::__future_base::_Result_base::_Deleter + size=1 align=1 + base size=0 base align=1 +std::__future_base::_Result_base::_Deleter (0x0x7f4a44c4c0c0) 0 empty + +Vtable for std::__future_base::_Result_base +std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE) +16 (int (*)(...))__cxa_pure_virtual +24 0 +32 0 + +Class std::__future_base::_Result_base + size=16 align=8 + base size=16 base align=8 +std::__future_base::_Result_base (0x0x7f4a44c4c060) 0 + vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16) + +Class std::__future_base::_State_baseV2::__exception_ptr_tag + size=1 align=1 + base size=0 base align=1 +std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f4a44a257e0) 0 empty + +Class std::__future_base::_State_baseV2::_Make_ready + size=32 align=8 + base size=32 base align=8 +std::__future_base::_State_baseV2::_Make_ready (0x0x7f4a44a2a3a8) 0 + std::__at_thread_exit_elt (0x0x7f4a44a258a0) 0 + +Vtable for std::__future_base::_State_baseV2 +std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E) +16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2 +32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_State_baseV2 + size=32 align=8 + base size=28 base align=8 +std::__future_base::_State_baseV2 (0x0x7f4a44c4c240) 0 + vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16) + +Class std::__future_base + size=1 align=1 + base size=0 base align=1 +std::__future_base (0x0x7f4a44c4c000) 0 empty + +Vtable for std::__future_base::_Async_state_commonV2 +std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E) +16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2 +32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async +40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future + +Class std::__future_base::_Async_state_commonV2 + size=48 align=8 + base size=44 base align=8 +std::__future_base::_Async_state_commonV2 (0x0x7f4a441e80d0) 0 + vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16) + std::__future_base::_State_baseV2 (0x0x7f4a441ce8a0) 0 + primary-for std::__future_base::_Async_state_commonV2 (0x0x7f4a441e80d0) + +Class QThread::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThread::QPrivateSignal (0x0x7f4a44205180) 0 empty + +Vtable for QThread +QThread::_ZTV7QThread: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI7QThread) +16 (int (*)(...))QThread::metaObject +24 (int (*)(...))QThread::qt_metacast +32 (int (*)(...))QThread::qt_metacall +40 (int (*)(...))QThread::~QThread +48 (int (*)(...))QThread::~QThread +56 (int (*)(...))QThread::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QThread::run + +Class QThread + size=16 align=8 + base size=16 base align=8 +QThread (0x0x7f4a441e8410) 0 + vptr=((& QThread::_ZTV7QThread) + 16) + QObject (0x0x7f4a44205120) 0 + primary-for QThread (0x0x7f4a441e8410) + +Class QThreadPool::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QThreadPool::QPrivateSignal (0x0x7f4a44205540) 0 empty + +Vtable for QThreadPool +QThreadPool::_ZTV11QThreadPool: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QThreadPool) +16 (int (*)(...))QThreadPool::metaObject +24 (int (*)(...))QThreadPool::qt_metacast +32 (int (*)(...))QThreadPool::qt_metacall +40 (int (*)(...))QThreadPool::~QThreadPool +48 (int (*)(...))QThreadPool::~QThreadPool +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QThreadPool + size=16 align=8 + base size=16 base align=8 +QThreadPool (0x0x7f4a441e8478) 0 + vptr=((& QThreadPool::_ZTV11QThreadPool) + 16) + QObject (0x0x7f4a442054e0) 0 + primary-for QThreadPool (0x0x7f4a441e8478) + +Class QThreadStorageData + size=4 align=4 + base size=4 base align=4 +QThreadStorageData (0x0x7f4a44205720) 0 + +Class QTimeLine::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimeLine::QPrivateSignal (0x0x7f4a44205de0) 0 empty + +Vtable for QTimeLine +QTimeLine::_ZTV9QTimeLine: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI9QTimeLine) +16 (int (*)(...))QTimeLine::metaObject +24 (int (*)(...))QTimeLine::qt_metacast +32 (int (*)(...))QTimeLine::qt_metacall +40 (int (*)(...))QTimeLine::~QTimeLine +48 (int (*)(...))QTimeLine::~QTimeLine +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimeLine::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTimeLine::valueForTime + +Class QTimeLine + size=16 align=8 + base size=16 base align=8 +QTimeLine (0x0x7f4a441e84e0) 0 + vptr=((& QTimeLine::_ZTV9QTimeLine) + 16) + QObject (0x0x7f4a44205d80) 0 + primary-for QTimeLine (0x0x7f4a441e84e0) + +Class QTimer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTimer::QPrivateSignal (0x0x7f4a44255060) 0 empty + +Vtable for QTimer +QTimer::_ZTV6QTimer: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI6QTimer) +16 (int (*)(...))QTimer::metaObject +24 (int (*)(...))QTimer::qt_metacast +32 (int (*)(...))QTimer::qt_metacall +40 (int (*)(...))QTimer::~QTimer +48 (int (*)(...))QTimer::~QTimer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QTimer::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QTimer + size=32 align=8 + base size=29 base align=8 +QTimer (0x0x7f4a441e8548) 0 + vptr=((& QTimer::_ZTV6QTimer) + 16) + QObject (0x0x7f4a44255000) 0 + primary-for QTimer (0x0x7f4a441e8548) + +Class QTimeZone::OffsetData + size=32 align=8 + base size=28 base align=8 +QTimeZone::OffsetData (0x0x7f4a4428b9c0) 0 + +Class QTimeZone + size=8 align=8 + base size=8 base align=8 +QTimeZone (0x0x7f4a4428b960) 0 + +Class QTranslator::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTranslator::QPrivateSignal (0x0x7f4a43f29a80) 0 empty + +Vtable for QTranslator +QTranslator::_ZTV11QTranslator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI11QTranslator) +16 (int (*)(...))QTranslator::metaObject +24 (int (*)(...))QTranslator::qt_metacast +32 (int (*)(...))QTranslator::qt_metacall +40 (int (*)(...))QTranslator::~QTranslator +48 (int (*)(...))QTranslator::~QTranslator +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTranslator::translate +120 (int (*)(...))QTranslator::isEmpty + +Class QTranslator + size=16 align=8 + base size=16 base align=8 +QTranslator (0x0x7f4a43f26c30) 0 + vptr=((& QTranslator::_ZTV11QTranslator) + 16) + QObject (0x0x7f4a43f29a20) 0 + primary-for QTranslator (0x0x7f4a43f26c30) + +Class QTransposeProxyModel::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTransposeProxyModel::QPrivateSignal (0x0x7f4a43f29cc0) 0 empty + +Vtable for QTransposeProxyModel +QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QTransposeProxyModel) +16 (int (*)(...))QTransposeProxyModel::metaObject +24 (int (*)(...))QTransposeProxyModel::qt_metacast +32 (int (*)(...))QTransposeProxyModel::qt_metacall +40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTransposeProxyModel::index +120 (int (*)(...))QTransposeProxyModel::parent +128 (int (*)(...))QAbstractProxyModel::sibling +136 (int (*)(...))QTransposeProxyModel::rowCount +144 (int (*)(...))QTransposeProxyModel::columnCount +152 (int (*)(...))QAbstractProxyModel::hasChildren +160 (int (*)(...))QAbstractProxyModel::data +168 (int (*)(...))QAbstractProxyModel::setData +176 (int (*)(...))QTransposeProxyModel::headerData +184 (int (*)(...))QTransposeProxyModel::setHeaderData +192 (int (*)(...))QTransposeProxyModel::itemData +200 (int (*)(...))QTransposeProxyModel::setItemData +208 (int (*)(...))QAbstractProxyModel::mimeTypes +216 (int (*)(...))QAbstractProxyModel::mimeData +224 (int (*)(...))QAbstractProxyModel::canDropMimeData +232 (int (*)(...))QAbstractProxyModel::dropMimeData +240 (int (*)(...))QAbstractProxyModel::supportedDropActions +248 (int (*)(...))QAbstractProxyModel::supportedDragActions +256 (int (*)(...))QTransposeProxyModel::insertRows +264 (int (*)(...))QTransposeProxyModel::insertColumns +272 (int (*)(...))QTransposeProxyModel::removeRows +280 (int (*)(...))QTransposeProxyModel::removeColumns +288 (int (*)(...))QTransposeProxyModel::moveRows +296 (int (*)(...))QTransposeProxyModel::moveColumns +304 (int (*)(...))QAbstractProxyModel::fetchMore +312 (int (*)(...))QAbstractProxyModel::canFetchMore +320 (int (*)(...))QAbstractProxyModel::flags +328 (int (*)(...))QTransposeProxyModel::sort +336 (int (*)(...))QAbstractProxyModel::buddy +344 (int (*)(...))QAbstractItemModel::match +352 (int (*)(...))QTransposeProxyModel::span +360 (int (*)(...))QAbstractItemModel::roleNames +368 (int (*)(...))QAbstractProxyModel::submit +376 (int (*)(...))QAbstractProxyModel::revert +384 (int (*)(...))QTransposeProxyModel::setSourceModel +392 (int (*)(...))QTransposeProxyModel::mapToSource +400 (int (*)(...))QTransposeProxyModel::mapFromSource +408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource +416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource + +Class QTransposeProxyModel + size=16 align=8 + base size=16 base align=8 +QTransposeProxyModel (0x0x7f4a43f26c98) 0 + vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16) + QAbstractProxyModel (0x0x7f4a43f26d00) 0 + primary-for QTransposeProxyModel (0x0x7f4a43f26c98) + QAbstractItemModel (0x0x7f4a43f26d68) 0 + primary-for QAbstractProxyModel (0x0x7f4a43f26d00) + QObject (0x0x7f4a43f29c60) 0 + primary-for QAbstractItemModel (0x0x7f4a43f26d68) + +Class QUrlQuery + size=8 align=8 + base size=8 base align=8 +QUrlQuery (0x0x7f4a43f29ea0) 0 + +Class QWaitCondition + size=8 align=8 + base size=8 base align=8 +QWaitCondition (0x0x7f4a440473c0) 0 + +Class QXmlStreamStringRef + size=16 align=8 + base size=16 base align=8 +QXmlStreamStringRef (0x0x7f4a440474e0) 0 + +Class QXmlStreamAttribute + size=80 align=8 + base size=73 base align=8 +QXmlStreamAttribute (0x0x7f4a43bd68a0) 0 + +Class QXmlStreamAttributes + size=8 align=8 + base size=8 base align=8 +QXmlStreamAttributes (0x0x7f4a43c67068) 0 + QVector (0x0x7f4a43c7f000) 0 + +Class QXmlStreamNamespaceDeclaration + size=40 align=8 + base size=40 base align=8 +QXmlStreamNamespaceDeclaration (0x0x7f4a43c7f300) 0 + +Class QXmlStreamNotationDeclaration + size=56 align=8 + base size=56 base align=8 +QXmlStreamNotationDeclaration (0x0x7f4a43cdb2a0) 0 + +Class QXmlStreamEntityDeclaration + size=88 align=8 + base size=88 base align=8 +QXmlStreamEntityDeclaration (0x0x7f4a43d382a0) 0 + +Vtable for QXmlStreamEntityResolver +QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver) +16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver +32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity +40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity + +Class QXmlStreamEntityResolver + size=8 align=8 + base size=8 base align=8 +QXmlStreamEntityResolver (0x0x7f4a439a7360) 0 nearly-empty + vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16) + +Class QXmlStreamReader + size=8 align=8 + base size=8 base align=8 +QXmlStreamReader (0x0x7f4a439a73c0) 0 + +Class QXmlStreamWriter + size=8 align=8 + base size=8 base align=8 +QXmlStreamWriter (0x0x7f4a439ff2a0) 0 + +Class QNetworkRequest + size=8 align=8 + base size=8 base align=8 +QNetworkRequest (0x0x7f4a439ff480) 0 + +Class QNetworkCacheMetaData + size=8 align=8 + base size=8 base align=8 +QNetworkCacheMetaData (0x0x7f4a43ae2900) 0 + +Class QAbstractNetworkCache::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractNetworkCache::QPrivateSignal (0x0x7f4a437afde0) 0 empty + +Vtable for QAbstractNetworkCache +QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QAbstractNetworkCache) +16 (int (*)(...))QAbstractNetworkCache::metaObject +24 (int (*)(...))QAbstractNetworkCache::qt_metacast +32 (int (*)(...))QAbstractNetworkCache::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual +128 (int (*)(...))__cxa_pure_virtual +136 (int (*)(...))__cxa_pure_virtual +144 (int (*)(...))__cxa_pure_virtual +152 (int (*)(...))__cxa_pure_virtual +160 (int (*)(...))__cxa_pure_virtual +168 (int (*)(...))__cxa_pure_virtual + +Class QAbstractNetworkCache + size=16 align=8 + base size=16 base align=8 +QAbstractNetworkCache (0x0x7f4a437b6958) 0 + vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16) + QObject (0x0x7f4a437afd80) 0 + primary-for QAbstractNetworkCache (0x0x7f4a437b6958) + +Class QAbstractSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QAbstractSocket::QPrivateSignal (0x0x7f4a437d4060) 0 empty + +Vtable for QAbstractSocket +QAbstractSocket::_ZTV15QAbstractSocket: 41 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QAbstractSocket) +16 (int (*)(...))QAbstractSocket::metaObject +24 (int (*)(...))QAbstractSocket::qt_metacast +32 (int (*)(...))QAbstractSocket::qt_metacall +40 (int (*)(...))QAbstractSocket::~QAbstractSocket +48 (int (*)(...))QAbstractSocket::~QAbstractSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QAbstractSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QAbstractSocket::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QAbstractSocket::bytesAvailable +184 (int (*)(...))QAbstractSocket::bytesToWrite +192 (int (*)(...))QAbstractSocket::canReadLine +200 (int (*)(...))QAbstractSocket::waitForReadyRead +208 (int (*)(...))QAbstractSocket::waitForBytesWritten +216 (int (*)(...))QAbstractSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QAbstractSocket::writeData +240 (int (*)(...))QAbstractSocket::resume +248 (int (*)(...))QAbstractSocket::connectToHost +256 (int (*)(...))QAbstractSocket::connectToHost +264 (int (*)(...))QAbstractSocket::disconnectFromHost +272 (int (*)(...))QAbstractSocket::setReadBufferSize +280 (int (*)(...))QAbstractSocket::socketDescriptor +288 (int (*)(...))QAbstractSocket::setSocketDescriptor +296 (int (*)(...))QAbstractSocket::setSocketOption +304 (int (*)(...))QAbstractSocket::socketOption +312 (int (*)(...))QAbstractSocket::waitForConnected +320 (int (*)(...))QAbstractSocket::waitForDisconnected + +Class QAbstractSocket + size=16 align=8 + base size=16 base align=8 +QAbstractSocket (0x0x7f4a437b69c0) 0 + vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16) + QIODevice (0x0x7f4a437b6a28) 0 + primary-for QAbstractSocket (0x0x7f4a437b69c0) + QObject (0x0x7f4a437d4000) 0 + primary-for QIODevice (0x0x7f4a437b6a28) + +Class QAuthenticator + size=8 align=8 + base size=8 base align=8 +QAuthenticator (0x0x7f4a43849780) 0 + +Class QDnsDomainNameRecord + size=8 align=8 + base size=8 base align=8 +QDnsDomainNameRecord (0x0x7f4a43849840) 0 + +Class QDnsHostAddressRecord + size=8 align=8 + base size=8 base align=8 +QDnsHostAddressRecord (0x0x7f4a43922900) 0 + +Class QDnsMailExchangeRecord + size=8 align=8 + base size=8 base align=8 +QDnsMailExchangeRecord (0x0x7f4a435de9c0) 0 + +Class QDnsServiceRecord + size=8 align=8 + base size=8 base align=8 +QDnsServiceRecord (0x0x7f4a436999c0) 0 + +Class QDnsTextRecord + size=8 align=8 + base size=8 base align=8 +QDnsTextRecord (0x0x7f4a437588a0) 0 + +Class QDnsLookup::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDnsLookup::QPrivateSignal (0x0x7f4a43416900) 0 empty + +Vtable for QDnsLookup +QDnsLookup::_ZTV10QDnsLookup: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QDnsLookup) +16 (int (*)(...))QDnsLookup::metaObject +24 (int (*)(...))QDnsLookup::qt_metacast +32 (int (*)(...))QDnsLookup::qt_metacall +40 (int (*)(...))QDnsLookup::~QDnsLookup +48 (int (*)(...))QDnsLookup::~QDnsLookup +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDnsLookup + size=16 align=8 + base size=16 base align=8 +QDnsLookup (0x0x7f4a434158f0) 0 + vptr=((& QDnsLookup::_ZTV10QDnsLookup) + 16) + QObject (0x0x7f4a434168a0) 0 + primary-for QDnsLookup (0x0x7f4a434158f0) + +Class QTcpSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTcpSocket::QPrivateSignal (0x0x7f4a43416cc0) 0 empty + +Vtable for QTcpSocket +QTcpSocket::_ZTV10QTcpSocket: 41 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTcpSocket) +16 (int (*)(...))QTcpSocket::metaObject +24 (int (*)(...))QTcpSocket::qt_metacast +32 (int (*)(...))QTcpSocket::qt_metacall +40 (int (*)(...))QTcpSocket::~QTcpSocket +48 (int (*)(...))QTcpSocket::~QTcpSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QAbstractSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QAbstractSocket::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QAbstractSocket::bytesAvailable +184 (int (*)(...))QAbstractSocket::bytesToWrite +192 (int (*)(...))QAbstractSocket::canReadLine +200 (int (*)(...))QAbstractSocket::waitForReadyRead +208 (int (*)(...))QAbstractSocket::waitForBytesWritten +216 (int (*)(...))QAbstractSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QAbstractSocket::writeData +240 (int (*)(...))QAbstractSocket::resume +248 (int (*)(...))QAbstractSocket::connectToHost +256 (int (*)(...))QAbstractSocket::connectToHost +264 (int (*)(...))QAbstractSocket::disconnectFromHost +272 (int (*)(...))QAbstractSocket::setReadBufferSize +280 (int (*)(...))QAbstractSocket::socketDescriptor +288 (int (*)(...))QAbstractSocket::setSocketDescriptor +296 (int (*)(...))QAbstractSocket::setSocketOption +304 (int (*)(...))QAbstractSocket::socketOption +312 (int (*)(...))QAbstractSocket::waitForConnected +320 (int (*)(...))QAbstractSocket::waitForDisconnected + +Class QTcpSocket + size=16 align=8 + base size=16 base align=8 +QTcpSocket (0x0x7f4a43415958) 0 + vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16) + QAbstractSocket (0x0x7f4a434159c0) 0 + primary-for QTcpSocket (0x0x7f4a43415958) + QIODevice (0x0x7f4a43415a28) 0 + primary-for QAbstractSocket (0x0x7f4a434159c0) + QObject (0x0x7f4a43416c60) 0 + primary-for QIODevice (0x0x7f4a43415a28) + +Class QSslCertificate + size=8 align=8 + base size=8 base align=8 +QSslCertificate (0x0x7f4a4345c5a0) 0 + +Class QSslError + size=8 align=8 + base size=8 base align=8 +QSslError (0x0x7f4a43531de0) 0 + +Class QSslSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QSslSocket::QPrivateSignal (0x0x7f4a432450c0) 0 empty + +Vtable for QSslSocket +QSslSocket::_ZTV10QSslSocket: 41 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QSslSocket) +16 (int (*)(...))QSslSocket::metaObject +24 (int (*)(...))QSslSocket::qt_metacast +32 (int (*)(...))QSslSocket::qt_metacall +40 (int (*)(...))QSslSocket::~QSslSocket +48 (int (*)(...))QSslSocket::~QSslSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QSslSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QSslSocket::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QSslSocket::bytesAvailable +184 (int (*)(...))QSslSocket::bytesToWrite +192 (int (*)(...))QSslSocket::canReadLine +200 (int (*)(...))QSslSocket::waitForReadyRead +208 (int (*)(...))QSslSocket::waitForBytesWritten +216 (int (*)(...))QSslSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QSslSocket::writeData +240 (int (*)(...))QSslSocket::resume +248 (int (*)(...))QSslSocket::connectToHost +256 (int (*)(...))QAbstractSocket::connectToHost +264 (int (*)(...))QSslSocket::disconnectFromHost +272 (int (*)(...))QSslSocket::setReadBufferSize +280 (int (*)(...))QAbstractSocket::socketDescriptor +288 (int (*)(...))QSslSocket::setSocketDescriptor +296 (int (*)(...))QSslSocket::setSocketOption +304 (int (*)(...))QSslSocket::socketOption +312 (int (*)(...))QSslSocket::waitForConnected +320 (int (*)(...))QSslSocket::waitForDisconnected + +Class QSslSocket + size=16 align=8 + base size=16 base align=8 +QSslSocket (0x0x7f4a432056e8) 0 + vptr=((& QSslSocket::_ZTV10QSslSocket) + 16) + QTcpSocket (0x0x7f4a43205750) 0 + primary-for QSslSocket (0x0x7f4a432056e8) + QAbstractSocket (0x0x7f4a432057b8) 0 + primary-for QTcpSocket (0x0x7f4a43205750) + QIODevice (0x0x7f4a43205820) 0 + primary-for QAbstractSocket (0x0x7f4a432057b8) + QObject (0x0x7f4a43245060) 0 + primary-for QIODevice (0x0x7f4a43205820) + +Class QDtlsClientVerifier::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDtlsClientVerifier::QPrivateSignal (0x0x7f4a43245300) 0 empty + +Class QDtlsClientVerifier::GeneratorParameters + size=16 align=8 + base size=16 base align=8 +QDtlsClientVerifier::GeneratorParameters (0x0x7f4a43245360) 0 + +Vtable for QDtlsClientVerifier +QDtlsClientVerifier::_ZTV19QDtlsClientVerifier: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI19QDtlsClientVerifier) +16 (int (*)(...))QDtlsClientVerifier::metaObject +24 (int (*)(...))QDtlsClientVerifier::qt_metacast +32 (int (*)(...))QDtlsClientVerifier::qt_metacall +40 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier +48 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDtlsClientVerifier + size=16 align=8 + base size=16 base align=8 +QDtlsClientVerifier (0x0x7f4a43205888) 0 + vptr=((& QDtlsClientVerifier::_ZTV19QDtlsClientVerifier) + 16) + QObject (0x0x7f4a432452a0) 0 + primary-for QDtlsClientVerifier (0x0x7f4a43205888) + +Class QDtls::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QDtls::QPrivateSignal (0x0x7f4a432455a0) 0 empty + +Vtable for QDtls +QDtls::_ZTV5QDtls: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI5QDtls) +16 (int (*)(...))QDtls::metaObject +24 (int (*)(...))QDtls::qt_metacast +32 (int (*)(...))QDtls::qt_metacall +40 (int (*)(...))QDtls::~QDtls +48 (int (*)(...))QDtls::~QDtls +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QDtls + size=16 align=8 + base size=16 base align=8 +QDtls (0x0x7f4a432058f0) 0 + vptr=((& QDtls::_ZTV5QDtls) + 16) + QObject (0x0x7f4a43245540) 0 + primary-for QDtls (0x0x7f4a432058f0) + +Class QIPv6Address + size=16 align=1 + base size=16 base align=1 +QIPv6Address (0x0x7f4a432457e0) 0 + +Class QHostAddress + size=8 align=8 + base size=8 base align=8 +QHostAddress (0x0x7f4a43245900) 0 + +Class QHostInfo + size=8 align=8 + base size=8 base align=8 +QHostInfo (0x0x7f4a433216c0) 0 + +Class QHstsPolicy + size=8 align=8 + base size=8 base align=8 +QHstsPolicy (0x0x7f4a42fe0d80) 0 + +Class QHttp2Configuration + size=8 align=8 + base size=8 base align=8 +QHttp2Configuration (0x0x7f4a430e24e0) 0 + +Class QHttpPart + size=8 align=8 + base size=8 base align=8 +QHttpPart (0x0x7f4a4313aa20) 0 + +Class QHttpMultiPart::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QHttpMultiPart::QPrivateSignal (0x0x7f4a42e046c0) 0 empty + +Vtable for QHttpMultiPart +QHttpMultiPart::_ZTV14QHttpMultiPart: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QHttpMultiPart) +16 (int (*)(...))QHttpMultiPart::metaObject +24 (int (*)(...))QHttpMultiPart::qt_metacast +32 (int (*)(...))QHttpMultiPart::qt_metacall +40 (int (*)(...))QHttpMultiPart::~QHttpMultiPart +48 (int (*)(...))QHttpMultiPart::~QHttpMultiPart +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QHttpMultiPart + size=16 align=8 + base size=16 base align=8 +QHttpMultiPart (0x0x7f4a42e0c068) 0 + vptr=((& QHttpMultiPart::_ZTV14QHttpMultiPart) + 16) + QObject (0x0x7f4a42e04660) 0 + primary-for QHttpMultiPart (0x0x7f4a42e0c068) + +Class QLocalServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLocalServer::QPrivateSignal (0x0x7f4a42e04900) 0 empty + +Vtable for QLocalServer +QLocalServer::_ZTV12QLocalServer: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QLocalServer) +16 (int (*)(...))QLocalServer::metaObject +24 (int (*)(...))QLocalServer::qt_metacast +32 (int (*)(...))QLocalServer::qt_metacall +40 (int (*)(...))QLocalServer::~QLocalServer +48 (int (*)(...))QLocalServer::~QLocalServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLocalServer::hasPendingConnections +120 (int (*)(...))QLocalServer::nextPendingConnection +128 (int (*)(...))QLocalServer::incomingConnection + +Class QLocalServer + size=16 align=8 + base size=16 base align=8 +QLocalServer (0x0x7f4a42e0c0d0) 0 + vptr=((& QLocalServer::_ZTV12QLocalServer) + 16) + QObject (0x0x7f4a42e048a0) 0 + primary-for QLocalServer (0x0x7f4a42e0c0d0) + +Class QLocalSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QLocalSocket::QPrivateSignal (0x0x7f4a42e523c0) 0 empty + +Vtable for QLocalSocket +QLocalSocket::_ZTV12QLocalSocket: 30 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI12QLocalSocket) +16 (int (*)(...))QLocalSocket::metaObject +24 (int (*)(...))QLocalSocket::qt_metacast +32 (int (*)(...))QLocalSocket::qt_metacall +40 (int (*)(...))QLocalSocket::~QLocalSocket +48 (int (*)(...))QLocalSocket::~QLocalSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QLocalSocket::isSequential +120 (int (*)(...))QLocalSocket::open +128 (int (*)(...))QLocalSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QLocalSocket::bytesAvailable +184 (int (*)(...))QLocalSocket::bytesToWrite +192 (int (*)(...))QLocalSocket::canReadLine +200 (int (*)(...))QLocalSocket::waitForReadyRead +208 (int (*)(...))QLocalSocket::waitForBytesWritten +216 (int (*)(...))QLocalSocket::readData +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QLocalSocket::writeData + +Class QLocalSocket + size=16 align=8 + base size=16 base align=8 +QLocalSocket (0x0x7f4a42e0c270) 0 + vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16) + QIODevice (0x0x7f4a42e0c2d8) 0 + primary-for QLocalSocket (0x0x7f4a42e0c270) + QObject (0x0x7f4a42e52360) 0 + primary-for QIODevice (0x0x7f4a42e0c2d8) + +Class QSslConfiguration + size=8 align=8 + base size=8 base align=8 +QSslConfiguration (0x0x7f4a42e525a0) 0 + +Class QSslPreSharedKeyAuthenticator + size=8 align=8 + base size=8 base align=8 +QSslPreSharedKeyAuthenticator (0x0x7f4a42f5ba80) 0 + +Class QNetworkAccessManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkAccessManager::QPrivateSignal (0x0x7f4a42c4b120) 0 empty + +Vtable for QNetworkAccessManager +QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI21QNetworkAccessManager) +16 (int (*)(...))QNetworkAccessManager::metaObject +24 (int (*)(...))QNetworkAccessManager::qt_metacast +32 (int (*)(...))QNetworkAccessManager::qt_metacall +40 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager +48 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkAccessManager::createRequest + +Class QNetworkAccessManager + size=16 align=8 + base size=16 base align=8 +QNetworkAccessManager (0x0x7f4a42c337b8) 0 + vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16) + QObject (0x0x7f4a42c4b0c0) 0 + primary-for QNetworkAccessManager (0x0x7f4a42c337b8) + +Class QNetworkConfiguration + size=8 align=8 + base size=8 base align=8 +QNetworkConfiguration (0x0x7f4a42c4b3c0) 0 + +Class QNetworkConfigurationManager::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkConfigurationManager::QPrivateSignal (0x0x7f4a42d2d780) 0 empty + +Vtable for QNetworkConfigurationManager +QNetworkConfigurationManager::_ZTV28QNetworkConfigurationManager: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI28QNetworkConfigurationManager) +16 (int (*)(...))QNetworkConfigurationManager::metaObject +24 (int (*)(...))QNetworkConfigurationManager::qt_metacast +32 (int (*)(...))QNetworkConfigurationManager::qt_metacall +40 (int (*)(...))QNetworkConfigurationManager::~QNetworkConfigurationManager +48 (int (*)(...))QNetworkConfigurationManager::~QNetworkConfigurationManager +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QNetworkConfigurationManager + size=16 align=8 + base size=16 base align=8 +QNetworkConfigurationManager (0x0x7f4a42d1ea90) 0 + vptr=((& QNetworkConfigurationManager::_ZTV28QNetworkConfigurationManager) + 16) + QObject (0x0x7f4a42d2d720) 0 + primary-for QNetworkConfigurationManager (0x0x7f4a42d1ea90) + +Class QNetworkCookie + size=8 align=8 + base size=8 base align=8 +QNetworkCookie (0x0x7f4a42d85300) 0 + +Class QNetworkCookieJar::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkCookieJar::QPrivateSignal (0x0x7f4a42a4e900) 0 empty + +Vtable for QNetworkCookieJar +QNetworkCookieJar::_ZTV17QNetworkCookieJar: 20 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QNetworkCookieJar) +16 (int (*)(...))QNetworkCookieJar::metaObject +24 (int (*)(...))QNetworkCookieJar::qt_metacast +32 (int (*)(...))QNetworkCookieJar::qt_metacall +40 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar +48 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkCookieJar::cookiesForUrl +120 (int (*)(...))QNetworkCookieJar::setCookiesFromUrl +128 (int (*)(...))QNetworkCookieJar::insertCookie +136 (int (*)(...))QNetworkCookieJar::updateCookie +144 (int (*)(...))QNetworkCookieJar::deleteCookie +152 (int (*)(...))QNetworkCookieJar::validateCookie + +Class QNetworkCookieJar + size=16 align=8 + base size=16 base align=8 +QNetworkCookieJar (0x0x7f4a42a42d00) 0 + vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16) + QObject (0x0x7f4a42a4e8a0) 0 + primary-for QNetworkCookieJar (0x0x7f4a42a42d00) + +Class QNetworkDatagram + size=8 align=8 + base size=8 base align=8 +QNetworkDatagram (0x0x7f4a42a4eae0) 0 + +Class QNetworkDiskCache::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkDiskCache::QPrivateSignal (0x0x7f4a42b2c660) 0 empty + +Vtable for QNetworkDiskCache +QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI17QNetworkDiskCache) +16 (int (*)(...))QNetworkDiskCache::metaObject +24 (int (*)(...))QNetworkDiskCache::qt_metacast +32 (int (*)(...))QNetworkDiskCache::qt_metacall +40 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache +48 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkDiskCache::metaData +120 (int (*)(...))QNetworkDiskCache::updateMetaData +128 (int (*)(...))QNetworkDiskCache::data +136 (int (*)(...))QNetworkDiskCache::remove +144 (int (*)(...))QNetworkDiskCache::cacheSize +152 (int (*)(...))QNetworkDiskCache::prepare +160 (int (*)(...))QNetworkDiskCache::insert +168 (int (*)(...))QNetworkDiskCache::clear +176 (int (*)(...))QNetworkDiskCache::expire + +Class QNetworkDiskCache + size=16 align=8 + base size=16 base align=8 +QNetworkDiskCache (0x0x7f4a42b21bc8) 0 + vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16) + QAbstractNetworkCache (0x0x7f4a42b21c30) 0 + primary-for QNetworkDiskCache (0x0x7f4a42b21bc8) + QObject (0x0x7f4a42b2c600) 0 + primary-for QAbstractNetworkCache (0x0x7f4a42b21c30) + +Class QNetworkAddressEntry + size=8 align=8 + base size=8 base align=8 +QNetworkAddressEntry (0x0x7f4a42b2c840) 0 + +Class QNetworkInterface + size=8 align=8 + base size=8 base align=8 +QNetworkInterface (0x0x7f4a428017e0) 0 + +Class QNetworkProxyQuery + size=8 align=8 + base size=8 base align=8 +QNetworkProxyQuery (0x0x7f4a42905300) 0 + +Class QNetworkProxy + size=8 align=8 + base size=8 base align=8 +QNetworkProxy (0x0x7f4a425df600) 0 + +Vtable for QNetworkProxyFactory +QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI20QNetworkProxyFactory) +16 0 +24 0 +32 (int (*)(...))__cxa_pure_virtual + +Class QNetworkProxyFactory + size=8 align=8 + base size=8 base align=8 +QNetworkProxyFactory (0x0x7f4a426b1e40) 0 nearly-empty + vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16) + +Class QNetworkReply::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkReply::QPrivateSignal (0x0x7f4a426f0120) 0 empty + +Vtable for QNetworkReply +QNetworkReply::_ZTV13QNetworkReply: 36 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI13QNetworkReply) +16 (int (*)(...))QNetworkReply::metaObject +24 (int (*)(...))QNetworkReply::qt_metacast +32 (int (*)(...))QNetworkReply::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QNetworkReply::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QNetworkReply::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QIODevice::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QIODevice::bytesAvailable +184 (int (*)(...))QIODevice::bytesToWrite +192 (int (*)(...))QIODevice::canReadLine +200 (int (*)(...))QIODevice::waitForReadyRead +208 (int (*)(...))QIODevice::waitForBytesWritten +216 (int (*)(...))__cxa_pure_virtual +224 (int (*)(...))QIODevice::readLineData +232 (int (*)(...))QNetworkReply::writeData +240 (int (*)(...))QNetworkReply::setReadBufferSize +248 (int (*)(...))__cxa_pure_virtual +256 (int (*)(...))QNetworkReply::ignoreSslErrors +264 (int (*)(...))QNetworkReply::sslConfigurationImplementation +272 (int (*)(...))QNetworkReply::setSslConfigurationImplementation +280 (int (*)(...))QNetworkReply::ignoreSslErrorsImplementation + +Class QNetworkReply + size=16 align=8 + base size=16 base align=8 +QNetworkReply (0x0x7f4a426be068) 0 + vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16) + QIODevice (0x0x7f4a426be0d0) 0 + primary-for QNetworkReply (0x0x7f4a426be068) + QObject (0x0x7f4a426f00c0) 0 + primary-for QIODevice (0x0x7f4a426be0d0) + +Class QNetworkSession::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QNetworkSession::QPrivateSignal (0x0x7f4a426f0600) 0 empty + +Vtable for QNetworkSession +QNetworkSession::_ZTV15QNetworkSession: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI15QNetworkSession) +16 (int (*)(...))QNetworkSession::metaObject +24 (int (*)(...))QNetworkSession::qt_metacast +32 (int (*)(...))QNetworkSession::qt_metacall +40 (int (*)(...))QNetworkSession::~QNetworkSession +48 (int (*)(...))QNetworkSession::~QNetworkSession +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QNetworkSession::connectNotify +104 (int (*)(...))QNetworkSession::disconnectNotify + +Class QNetworkSession + size=24 align=8 + base size=24 base align=8 +QNetworkSession (0x0x7f4a426be138) 0 + vptr=((& QNetworkSession::_ZTV15QNetworkSession) + 16) + QObject (0x0x7f4a426f05a0) 0 + primary-for QNetworkSession (0x0x7f4a426be138) + +Class QOcspResponse + size=8 align=8 + base size=8 base align=8 +QOcspResponse (0x0x7f4a426f0e40) 0 + +Class QTcpServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QTcpServer::QPrivateSignal (0x0x7f4a423a16c0) 0 empty + +Vtable for QTcpServer +QTcpServer::_ZTV10QTcpServer: 17 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QTcpServer) +16 (int (*)(...))QTcpServer::metaObject +24 (int (*)(...))QTcpServer::qt_metacast +32 (int (*)(...))QTcpServer::qt_metacall +40 (int (*)(...))QTcpServer::~QTcpServer +48 (int (*)(...))QTcpServer::~QTcpServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QTcpServer::hasPendingConnections +120 (int (*)(...))QTcpServer::nextPendingConnection +128 (int (*)(...))QTcpServer::incomingConnection + +Class QTcpServer + size=16 align=8 + base size=16 base align=8 +QTcpServer (0x0x7f4a4239b9c0) 0 + vptr=((& QTcpServer::_ZTV10QTcpServer) + 16) + QObject (0x0x7f4a423a1660) 0 + primary-for QTcpServer (0x0x7f4a4239b9c0) + +Class QSslCertificateExtension + size=8 align=8 + base size=8 base align=8 +QSslCertificateExtension (0x0x7f4a423a18a0) 0 + +Class QSslCipher + size=8 align=8 + base size=8 base align=8 +QSslCipher (0x0x7f4a42478840) 0 + +Class QSslDiffieHellmanParameters + size=8 align=8 + base size=8 base align=8 +QSslDiffieHellmanParameters (0x0x7f4a42538900) 0 + +Class QSslEllipticCurve + size=4 align=4 + base size=4 base align=4 +QSslEllipticCurve (0x0x7f4a421fe660) 0 + +Class QSslKey + size=8 align=8 + base size=8 base align=8 +QSslKey (0x0x7f4a42267000) 0 + +Class QUdpSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QUdpSocket::QPrivateSignal (0x0x7f4a42313ea0) 0 empty + +Vtable for QUdpSocket +QUdpSocket::_ZTV10QUdpSocket: 41 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QUdpSocket) +16 (int (*)(...))QUdpSocket::metaObject +24 (int (*)(...))QUdpSocket::qt_metacast +32 (int (*)(...))QUdpSocket::qt_metacall +40 (int (*)(...))QUdpSocket::~QUdpSocket +48 (int (*)(...))QUdpSocket::~QUdpSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QAbstractSocket::isSequential +120 (int (*)(...))QIODevice::open +128 (int (*)(...))QAbstractSocket::close +136 (int (*)(...))QIODevice::pos +144 (int (*)(...))QIODevice::size +152 (int (*)(...))QIODevice::seek +160 (int (*)(...))QAbstractSocket::atEnd +168 (int (*)(...))QIODevice::reset +176 (int (*)(...))QAbstractSocket::bytesAvailable +184 (int (*)(...))QAbstractSocket::bytesToWrite +192 (int (*)(...))QAbstractSocket::canReadLine +200 (int (*)(...))QAbstractSocket::waitForReadyRead +208 (int (*)(...))QAbstractSocket::waitForBytesWritten +216 (int (*)(...))QAbstractSocket::readData +224 (int (*)(...))QAbstractSocket::readLineData +232 (int (*)(...))QAbstractSocket::writeData +240 (int (*)(...))QAbstractSocket::resume +248 (int (*)(...))QAbstractSocket::connectToHost +256 (int (*)(...))QAbstractSocket::connectToHost +264 (int (*)(...))QAbstractSocket::disconnectFromHost +272 (int (*)(...))QAbstractSocket::setReadBufferSize +280 (int (*)(...))QAbstractSocket::socketDescriptor +288 (int (*)(...))QAbstractSocket::setSocketDescriptor +296 (int (*)(...))QAbstractSocket::setSocketOption +304 (int (*)(...))QAbstractSocket::socketOption +312 (int (*)(...))QAbstractSocket::waitForConnected +320 (int (*)(...))QAbstractSocket::waitForDisconnected + +Class QUdpSocket + size=16 align=8 + base size=16 base align=8 +QUdpSocket (0x0x7f4a42314f70) 0 + vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16) + QAbstractSocket (0x0x7f4a4232c000) 0 + primary-for QUdpSocket (0x0x7f4a42314f70) + QIODevice (0x0x7f4a4232c068) 0 + primary-for QAbstractSocket (0x0x7f4a4232c000) + QObject (0x0x7f4a42313e40) 0 + primary-for QIODevice (0x0x7f4a4232c068) + +Vtable for QMaskGenerator +QMaskGenerator::_ZTV14QMaskGenerator: 16 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI14QMaskGenerator) +16 (int (*)(...))QObject::metaObject +24 (int (*)(...))QObject::qt_metacast +32 (int (*)(...))QObject::qt_metacall +40 0 +48 0 +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))__cxa_pure_virtual +120 (int (*)(...))__cxa_pure_virtual + +Class QMaskGenerator + size=16 align=8 + base size=16 base align=8 +QMaskGenerator (0x0x7f4a4232c0d0) 0 + vptr=((& QMaskGenerator::_ZTV14QMaskGenerator) + 16) + QObject (0x0x7f4a4233f120) 0 + primary-for QMaskGenerator (0x0x7f4a4232c0d0) + +Class QWebSocket::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWebSocket::QPrivateSignal (0x0x7f4a4233f1e0) 0 empty + +Vtable for QWebSocket +QWebSocket::_ZTV10QWebSocket: 14 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI10QWebSocket) +16 (int (*)(...))QWebSocket::metaObject +24 (int (*)(...))QWebSocket::qt_metacast +32 (int (*)(...))QWebSocket::qt_metacall +40 (int (*)(...))QWebSocket::~QWebSocket +48 (int (*)(...))QWebSocket::~QWebSocket +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify + +Class QWebSocket + size=16 align=8 + base size=16 base align=8 +QWebSocket (0x0x7f4a4232c138) 0 + vptr=((& QWebSocket::_ZTV10QWebSocket) + 16) + QObject (0x0x7f4a4233f180) 0 + primary-for QWebSocket (0x0x7f4a4232c138) + +Class QWebSocketCorsAuthenticator + size=8 align=8 + base size=8 base align=8 +QWebSocketCorsAuthenticator (0x0x7f4a4233f3c0) 0 + +Class QWebSocketServer::QPrivateSignal + size=1 align=1 + base size=0 base align=1 +QWebSocketServer::QPrivateSignal (0x0x7f4a4233f600) 0 empty + +Vtable for QWebSocketServer +QWebSocketServer::_ZTV16QWebSocketServer: 15 entries +0 (int (*)(...))0 +8 (int (*)(...))(& _ZTI16QWebSocketServer) +16 (int (*)(...))QWebSocketServer::metaObject +24 (int (*)(...))QWebSocketServer::qt_metacast +32 (int (*)(...))QWebSocketServer::qt_metacall +40 (int (*)(...))QWebSocketServer::~QWebSocketServer +48 (int (*)(...))QWebSocketServer::~QWebSocketServer +56 (int (*)(...))QObject::event +64 (int (*)(...))QObject::eventFilter +72 (int (*)(...))QObject::timerEvent +80 (int (*)(...))QObject::childEvent +88 (int (*)(...))QObject::customEvent +96 (int (*)(...))QObject::connectNotify +104 (int (*)(...))QObject::disconnectNotify +112 (int (*)(...))QWebSocketServer::nextPendingConnection + +Class QWebSocketServer + size=16 align=8 + base size=16 base align=8 +QWebSocketServer (0x0x7f4a4232c1a0) 0 + vptr=((& QWebSocketServer::_ZTV16QWebSocketServer) + 16) + QObject (0x0x7f4a4233f5a0) 0 + primary-for QWebSocketServer (0x0x7f4a4232c1a0) + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a41fabc00) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a41fabf60) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a41fce180) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a41fce4e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a41fce6c0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a41fcea20) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a41fcec00) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a41fcef60) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a4200b180) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a4200b4e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a4200b6c0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a4200ba20) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a4200bc00) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a4200bf60) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a42040180) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420404e0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420729c0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a42072d20) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a42072ea0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420a2240) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420a23c0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420a2720) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420a28a0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420a2c00) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420a2d80) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420d1120) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420d12a0) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420d1600) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420d1780) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a420d1ae0) 0 empty + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno + size=4 align=4 + base size=4 base align=4 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f4a420d1c60) 0 + +Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk + size=1 align=1 + base size=0 base align=1 +__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f4a42102000) 0 empty + -- cgit v1.2.1 From 737a86f30a78add874b4bff310d4f84f49cc9b50 Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Mon, 16 Dec 2019 15:23:04 +0100 Subject: Bump version Change-Id: I486dace1520c7fc06e6233da8d1e0a52c7869cdb --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index c6f1702..24661f4 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,4 +3,4 @@ load(qt_build_config) CONFIG += warning_clean DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.14.0 +MODULE_VERSION = 5.14.1 -- cgit v1.2.1 From 938ad6373415fa8b0767a987c37ce51ec546859f Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Tue, 14 Jan 2020 11:24:11 +0100 Subject: QWebSocket - do not use deprecated member-function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use 'socketError' instead. Task-number: QTBUG-80369 Change-Id: I30527721677be0fc0f71ca33b08f608472bc8b71 Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocket_p.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 17f0224..434dca4 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -198,7 +198,7 @@ QAbstractSocket::SocketError QWebSocketPrivate::error() const { QAbstractSocket::SocketError err = QAbstractSocket::UnknownSocketError; if (Q_LIKELY(m_pSocket)) - err = m_pSocket->error(); + err = m_pSocket->socketError(); return err; } -- cgit v1.2.1 From e3d919e215d987ec8f912c7cec05ba502d4c3f0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Thu, 16 Jan 2020 15:25:46 +0100 Subject: Stop forcing deprecated ssl protocol version Change-Id: I422a2498bb940f801484d3f2e6e5d59edd637514 Reviewed-by: Timur Pocheptsov --- examples/websockets/sslechoserver/sslechoserver.cpp | 1 - tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/examples/websockets/sslechoserver/sslechoserver.cpp b/examples/websockets/sslechoserver/sslechoserver.cpp index 00bc6c1..5dc41e0 100644 --- a/examples/websockets/sslechoserver/sslechoserver.cpp +++ b/examples/websockets/sslechoserver/sslechoserver.cpp @@ -77,7 +77,6 @@ SslEchoServer::SslEchoServer(quint16 port, QObject *parent) : sslConfiguration.setPeerVerifyMode(QSslSocket::VerifyNone); sslConfiguration.setLocalCertificate(certificate); sslConfiguration.setPrivateKey(sslKey); - sslConfiguration.setProtocol(QSsl::TlsV1SslV3); m_pWebSocketServer->setSslConfiguration(sslConfiguration); if (m_pWebSocketServer->listen(QHostAddress::Any, port)) diff --git a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp index c40bb01..a56594c 100644 --- a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp +++ b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp @@ -604,7 +604,6 @@ static void setupSecureServer(QWebSocketServer *secureServer) sslConfiguration.setPeerVerifyMode(QSslSocket::VerifyNone); sslConfiguration.setLocalCertificate(certificate); sslConfiguration.setPrivateKey(sslKey); - sslConfiguration.setProtocol(QSsl::TlsV1SslV3); secureServer->setSslConfiguration(sslConfiguration); } #endif -- cgit v1.2.1 From ba3acb9d9c7b5234071143d7980576e7eceb6102 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Thu, 9 Jan 2020 10:28:07 +0200 Subject: Add changes file for Qt 5.14.1 + 3aab83b37baf03daa2aa97a708831d1f7dce8de0 Remove extra deleteLater (already done in onSocketDisconnected) + 59ad9ecf70fef2032dea01330d276c1fac20b724 Add binary compatibility file for qtwebsockets 5.14 branch + 737a86f30a78add874b4bff310d4f84f49cc9b50 Bump version Change-Id: I8d784ef67017de93eab7967dac304d14bf1fada3 Reviewed-by: Jani Heikkinen --- dist/changes-5.14.1 | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 dist/changes-5.14.1 diff --git a/dist/changes-5.14.1 b/dist/changes-5.14.1 new file mode 100644 index 0000000..d008638 --- /dev/null +++ b/dist/changes-5.14.1 @@ -0,0 +1,20 @@ +Qt 5.14.1 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.14.0. + +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.14 series is binary compatible with the 5.13.x series. +Applications compiled for 5.13 will continue to run with 5.14. + +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. + + - This release contains only minor code improvements. -- cgit v1.2.1 From 9f1bfd08c47de2a1f59b406ae57e5a90d2670ea6 Mon Sep 17 00:00:00 2001 From: Lars Schmertmann Date: Fri, 8 Nov 2019 14:55:54 +0100 Subject: Use the new functions/signals introduced in QSslSocket Task-number: QTBUG-68419 Change-Id: Icdc41079cb946d4316cc0ec2ae40522e6de52725 Reviewed-by: Timur Pocheptsov --- src/websockets/qsslserver.cpp | 6 +++ src/websockets/qsslserver_p.h | 3 ++ src/websockets/qwebsocket.cpp | 77 +++++++++++++++++++++++++++++++++++ src/websockets/qwebsocket.h | 6 +++ src/websockets/qwebsocket_p.cpp | 20 +++++++++ src/websockets/qwebsocket_p.h | 1 + src/websockets/qwebsocketserver.h | 3 ++ src/websockets/qwebsocketserver_p.cpp | 6 +++ 8 files changed, 122 insertions(+) diff --git a/src/websockets/qsslserver.cpp b/src/websockets/qsslserver.cpp index ec645c9..7f33a9d 100644 --- a/src/websockets/qsslserver.cpp +++ b/src/websockets/qsslserver.cpp @@ -121,6 +121,12 @@ void QSslServer::incomingConnection(qintptr socket) this, &QSslServer::socketEncrypted); connect(pSslSocket, &QSslSocket::preSharedKeyAuthenticationRequired, this, &QSslServer::preSharedKeyAuthenticationRequired); + connect(pSslSocket, &QSslSocket::alertSent, + this, &QSslServer::alertSent); + connect(pSslSocket, &QSslSocket::alertReceived, + this, &QSslServer::alertReceived); + connect(pSslSocket, &QSslSocket::handshakeInterruptedOnError, + this, &QSslServer::handshakeInterruptedOnError); Q_EMIT startedEncryptionHandshake(pSslSocket); diff --git a/src/websockets/qsslserver_p.h b/src/websockets/qsslserver_p.h index 6283058..e0c77fa 100644 --- a/src/websockets/qsslserver_p.h +++ b/src/websockets/qsslserver_p.h @@ -78,6 +78,9 @@ Q_SIGNALS: void peerVerifyError(const QSslError &error); void newEncryptedConnection(); void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator); + void alertSent(QAlertLevel level, QAlertType type, const QString &description); + void alertReceived(QAlertLevel level, QAlertType type, const QString &description); + void handshakeInterruptedOnError(const QSslError &error); void startedEncryptionHandshake(QSslSocket *socket); protected: diff --git a/src/websockets/qwebsocket.cpp b/src/websockets/qwebsocket.cpp index ade1eb4..e9bba37 100644 --- a/src/websockets/qwebsocket.cpp +++ b/src/websockets/qwebsocket.cpp @@ -260,6 +260,67 @@ not been filled in with new information when the signal returns. \sa QSslPreSharedKeyAuthenticator \sa QSslSocket::preSharedKeyAuthenticationRequired() */ +/*! + \fn void QWebSocket::peerVerifyError(const QSslError &error) + \since 6.0 + + QWebSocket can emit this signal several times during the SSL handshake, + before encryption has been established, to indicate that an error has + occurred while establishing the identity of the peer. The \a error is + usually an indication that QWebSocket is unable to securely identify the + peer. + + This signal provides you with an early indication when something's wrong. + By connecting to this signal, you can manually choose to tear down the + connection from inside the connected slot before the handshake has + completed. If no action is taken, QWebSocket will proceed to emitting + QWebSocket::sslErrors(). + + \sa sslErrors() +*/ +/*! + \fn void QWebSocket::alertSent(QAlertLevel level, QAlertType type, const QString &description) + \since 6.0 + + QWebSocket emits this signal if an alert message was sent to a peer. \a level + describes if it was a warning or a fatal error. \a type gives the code + of the alert message. When a textual description of the alert message is + available, it is supplied in \a description. + + \note This signal is mostly informational and can be used for debugging + purposes, normally it does not require any actions from the application. + \note Not all backends support this functionality. + + \sa alertReceived(), QSslSocket::QAlertLevel, QSslSocket::QAlertType +*/ +/*! + \fn void QWebSocket::alertReceived(QAlertLevel level, QAlertType type, const QString &description) + \since 6.0 + + QWebSocket emits this signal if an alert message was received from a peer. + \a level tells if the alert was fatal or it was a warning. \a type is the + code explaining why the alert was sent. When a textual description of + the alert message is available, it is supplied in \a description. + + \note The signal is mostly for informational and debugging purposes and does not + require any handling in the application. If the alert was fatal, underlying + backend will handle it and close the connection. + \note Not all backends support this functionality. + + \sa alertSent(), QSslSocket::QAlertLevel, QSslSocket::QAlertType +*/ +/*! + \fn void QWebSocket::handshakeInterruptedOnError(const QSslError &error) + \since 6.0 + + QWebSocket emits this signal if a certificate verification error was + found and if early error reporting was enabled in QSslConfiguration. + An application is expected to inspect the \a error and decide if + it wants to continue the handshake, or abort it and send an alert message + to the peer. The signal-slot connection must be direct. + + \sa continueInterruptedHandshake(), sslErrors(), QSslConfiguration::setHandshakeMustInterruptOnError() +*/ /*! \fn void QWebSocket::pong(quint64 elapsedTime, const QByteArray &payload) @@ -482,6 +543,22 @@ void QWebSocket::ignoreSslErrors() d->ignoreSslErrors(); } +/*! + \since 6.0 + + If an application wants to conclude a handshake even after receiving + handshakeInterruptedOnError() signal, it must call this function. + This call must be done from a slot function attached to the signal. + The signal-slot connection must be direct. + + \sa handshakeInterruptedOnError(), QSslConfiguration::setHandshakeMustInterruptOnError() +*/ +void QWebSocket::continueInterruptedHandshake() +{ + Q_D(QWebSocket); + d->continueInterruptedHandshake(); +} + /*! \overload diff --git a/src/websockets/qwebsocket.h b/src/websockets/qwebsocket.h index 4944689..530127f 100644 --- a/src/websockets/qwebsocket.h +++ b/src/websockets/qwebsocket.h @@ -109,6 +109,8 @@ public: #ifndef QT_NO_SSL void ignoreSslErrors(const QList &errors); + void continueInterruptedHandshake(); + void setSslConfiguration(const QSslConfiguration &sslConfiguration); QSslConfiguration sslConfiguration() const; #endif @@ -143,8 +145,12 @@ Q_SIGNALS: void bytesWritten(qint64 bytes); #ifndef QT_NO_SSL + void peerVerifyError(const QSslError &error); void sslErrors(const QList &errors); void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator); + void alertSent(QAlertLevel level, QAlertType type, const QString &description); + void alertReceived(QAlertLevel level, QAlertType type, const QString &description); + void handshakeInterruptedOnError(const QSslError &error); #endif private: diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 17f0224..01b58b5 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -284,6 +284,18 @@ void QWebSocketPrivate::ignoreSslErrors() } } +/*! + * \internal + */ +void QWebSocketPrivate::continueInterruptedHandshake() +{ + if (Q_LIKELY(m_pSocket)) { + QSslSocket *pSslSocket = qobject_cast(m_pSocket); + if (Q_LIKELY(pSslSocket)) + pSslSocket->continueInterruptedHandshake(); + } +} + /*! * \internal */ @@ -612,6 +624,14 @@ void QWebSocketPrivate::makeConnections(QTcpSocket *pTcpSocket) q, &QWebSocket::sslErrors); QObjectPrivate::connect(sslSocket, &QSslSocket::encrypted, this, &QWebSocketPrivate::_q_updateSslConfiguration); + QObject::connect(sslSocket, &QSslSocket::peerVerifyError, + q, &QWebSocket::peerVerifyError); + QObject::connect(sslSocket, &QSslSocket::alertSent, + q, &QWebSocket::alertSent); + QObject::connect(sslSocket, &QSslSocket::alertReceived, + q, &QWebSocket::alertReceived); + QObject::connect(sslSocket, &QSslSocket::handshakeInterruptedOnError, + q, &QWebSocket::handshakeInterruptedOnError); } else #endif // QT_NO_SSL { diff --git a/src/websockets/qwebsocket_p.h b/src/websockets/qwebsocket_p.h index 1db1077..e7c11f3 100644 --- a/src/websockets/qwebsocket_p.h +++ b/src/websockets/qwebsocket_p.h @@ -149,6 +149,7 @@ public: #ifndef QT_NO_SSL void ignoreSslErrors(const QList &errors); void ignoreSslErrors(); + void continueInterruptedHandshake(); void setSslConfiguration(const QSslConfiguration &sslConfiguration); QSslConfiguration sslConfiguration() const; void _q_updateSslConfiguration(); diff --git a/src/websockets/qwebsocketserver.h b/src/websockets/qwebsocketserver.h index ceb9106..478b35e 100644 --- a/src/websockets/qwebsocketserver.h +++ b/src/websockets/qwebsocketserver.h @@ -158,6 +158,9 @@ Q_SIGNALS: void peerVerifyError(const QSslError &error); void sslErrors(const QList &errors); void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator); + void alertSent(QAlertLevel level, QAlertType type, const QString &description); + void alertReceived(QAlertLevel level, QAlertType type, const QString &description); + void handshakeInterruptedOnError(const QSslError &error); #endif void closed(); }; diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 8c75721..d139f4b 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -107,6 +107,12 @@ void QWebSocketServerPrivate::init() q, &QWebSocketServer::sslErrors); QObject::connect(pSslServer, &QSslServer::preSharedKeyAuthenticationRequired, q, &QWebSocketServer::preSharedKeyAuthenticationRequired); + QObject::connect(pSslServer, &QSslServer::alertSent, + q, &QWebSocketServer::alertSent); + QObject::connect(pSslServer, &QSslServer::alertReceived, + q, &QWebSocketServer::alertReceived); + QObject::connect(pSslServer, &QSslServer::handshakeInterruptedOnError, + q, &QWebSocketServer::handshakeInterruptedOnError); } #else qFatal("SSL not supported on this platform."); -- cgit v1.2.1 From f98f2e29add512c4c0abbd1d4c6480e8f1b276aa Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Mon, 20 Jan 2020 20:00:58 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I7b2d1eab57c1241cb99714a276e6f3de3400dfb0 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 2b7d060..57d7f5e 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 43f341a13745473cf181cfe6a6ef4725aa2f88eb + ref: 35a461d0261af4178e560df3e3c8fd6fd19bdeb5 required: true ../qtdeclarative: - ref: 682b9e63c99dd4a22918f48f4360a829fcfdd336 + ref: 4ecc36c34154e731cb2e94fa1a35929d6785f33d required: false -- cgit v1.2.1 From 1614b39297fa2232aa11da644efad2f862022635 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 21 Jan 2020 16:02:02 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ia9563fa9bf6845928589dd58433b99560c51e609 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 57d7f5e..f4f7327 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 35a461d0261af4178e560df3e3c8fd6fd19bdeb5 + ref: 06bb315beb6c2c398223cfe52cbc7f66e14a8557 required: true ../qtdeclarative: - ref: 4ecc36c34154e731cb2e94fa1a35929d6785f33d + ref: be7e33e5dd59c0b8c077cdcb7849af3907455afc required: false -- cgit v1.2.1 From 51dd88d8963920b850d79e22b1820d207e0569c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Wed, 22 Jan 2020 15:51:18 +0100 Subject: Change QMap to QMultiMap Because insertMulti is deprecated Change-Id: I3965ea7159b2516b35c45072115eba1ab621b89a Reviewed-by: Timur Pocheptsov --- src/websockets/qwebsocket_p.cpp | 4 ++-- src/websockets/qwebsocket_p.h | 2 +- src/websockets/qwebsockethandshakerequest.cpp | 4 ++-- src/websockets/qwebsockethandshakerequest_p.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 434dca4..1493e15 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -1004,8 +1004,8 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket) errorDescription = QWebSocket::tr("Malformed header in response: %1.").arg(headerLine); break; } - lastHeader = m_headers.insertMulti(headerLine.left(colonPos).trimmed().toLower(), - headerLine.mid(colonPos + 1).trimmed()); + lastHeader = m_headers.insert(headerLine.left(colonPos).trimmed().toLower(), + headerLine.mid(colonPos + 1).trimmed()); } } diff --git a/src/websockets/qwebsocket_p.h b/src/websockets/qwebsocket_p.h index 1db1077..2d56f8a 100644 --- a/src/websockets/qwebsocket_p.h +++ b/src/websockets/qwebsocket_p.h @@ -248,7 +248,7 @@ private: int m_httpStatusCode; int m_httpMajorVersion, m_httpMinorVersion; QString m_httpStatusMessage; - QMap m_headers; + QMultiMap m_headers; friend class QWebSocketServerPrivate; #ifdef Q_OS_WASM diff --git a/src/websockets/qwebsockethandshakerequest.cpp b/src/websockets/qwebsockethandshakerequest.cpp index bfc8a3d..19df09b 100644 --- a/src/websockets/qwebsockethandshakerequest.cpp +++ b/src/websockets/qwebsockethandshakerequest.cpp @@ -268,8 +268,8 @@ void QWebSocketHandshakeRequest::readHandshake(QTextStream &textStream, int maxH clear(); return; } - lastHeader = m_headers.insertMulti(headerLine.left(colonPos).trimmed().toLower(), - headerLine.mid(colonPos + 1).trimmed()); + lastHeader = m_headers.insert(headerLine.left(colonPos).trimmed().toLower(), + headerLine.mid(colonPos + 1).trimmed()); } if (m_headers.size() > maxHeaders) { clear(); diff --git a/src/websockets/qwebsockethandshakerequest_p.h b/src/websockets/qwebsockethandshakerequest_p.h index e5762df..e14c05d 100644 --- a/src/websockets/qwebsockethandshakerequest_p.h +++ b/src/websockets/qwebsockethandshakerequest_p.h @@ -91,7 +91,7 @@ private: int m_port; bool m_isSecure; bool m_isValid; - QMap m_headers; + QMultiMap m_headers; QList m_versions; QString m_key; QString m_origin; -- cgit v1.2.1 From 89746c4c329c28c309ee169fc5d30bfa9cb01ec7 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Mon, 27 Jan 2020 15:13:19 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I445fbf06d9354c90e6949e26b0b7c3ab73c94a96 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index f4f7327..3da704b 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 06bb315beb6c2c398223cfe52cbc7f66e14a8557 + ref: 089d54f06ff327f5212cb08fdbcb540066357dd5 required: true ../qtdeclarative: - ref: be7e33e5dd59c0b8c077cdcb7849af3907455afc + ref: 406f15ce0e2707452462ff73b2d660ece960623f required: false -- cgit v1.2.1 From cf5d8e07481e23f1054749c332ab26a2a59b0acd Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Wed, 29 Jan 2020 16:24:36 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Icb863cd7f0da888811d38be944c06d186f56d1cf Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 3da704b..873b039 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 089d54f06ff327f5212cb08fdbcb540066357dd5 + ref: 4cbadf699838406d14366ce61deec03cf45113f7 required: true ../qtdeclarative: - ref: 406f15ce0e2707452462ff73b2d660ece960623f + ref: 8354851b628ebae567a9125cbd0ba69268470c1b required: false -- cgit v1.2.1 From 6983697b46ae7ba6572ee1480cc6f3a0e013a3d8 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Wed, 29 Jan 2020 23:00:36 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I9eb0887f8a5dd69a8bcb4d128edba10da426bb4f Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 873b039..ad4851e 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 4cbadf699838406d14366ce61deec03cf45113f7 + ref: 0ef79d94f6dcf276ca55b084d27f980b1f260473 required: true ../qtdeclarative: - ref: 8354851b628ebae567a9125cbd0ba69268470c1b + ref: 9333058cca1118fb357d5308d622d76c9005eec8 required: false -- cgit v1.2.1 From 20f8fa64f1a9bedb7a8c787f773041be4072991c Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 30 Jan 2020 09:54:36 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ia98db6dc41f095b3c45f23f9a49e4b6ee89df5c4 Reviewed-by: Simon Hausmann --- dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index ad4851e..9c70e73 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,5 +3,5 @@ dependencies: ref: 0ef79d94f6dcf276ca55b084d27f980b1f260473 required: true ../qtdeclarative: - ref: 9333058cca1118fb357d5308d622d76c9005eec8 + ref: 5be153af99820f0a73a58c05fc3d3be4825d0c36 required: false -- cgit v1.2.1 From 5f5f7c07a116d8baec256b3ef929de42c893ed8a Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 30 Jan 2020 20:01:13 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I95b32cffa79a1b667d8665ab39ac16f4263be760 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 9c70e73..f492d72 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 0ef79d94f6dcf276ca55b084d27f980b1f260473 + ref: ed080c64ae21d22115d16780a5903d7cc4fd1546 required: true ../qtdeclarative: - ref: 5be153af99820f0a73a58c05fc3d3be4825d0c36 + ref: e898490b4e6d6f85ea826a4e864b602e361fb7e5 required: false -- cgit v1.2.1 From c78dac0ae2705e13ea29f5eef6fd0096af9fd505 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 31 Jan 2020 22:22:53 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: If320a0b4709ee1a87612469280d7dc393ff77d9d Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index f492d72..4267d6a 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: ed080c64ae21d22115d16780a5903d7cc4fd1546 + ref: 511cb760ee1a35ee1adbb253f5d3f0c16bb91df5 required: true ../qtdeclarative: - ref: e898490b4e6d6f85ea826a4e864b602e361fb7e5 + ref: 44f24c43ad6af8784314d22f5261094a742458a3 required: false -- cgit v1.2.1 From 66165d9909288ca76444134fb58cd491e4456345 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 1 Feb 2020 08:00:55 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: If0a1a28070b158e5a52c114007ff4746f4339382 Reviewed-by: Simon Hausmann --- dependencies.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index 4267d6a..3c50302 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,5 +3,5 @@ dependencies: ref: 511cb760ee1a35ee1adbb253f5d3f0c16bb91df5 required: true ../qtdeclarative: - ref: 44f24c43ad6af8784314d22f5261094a742458a3 + ref: 88d033370238b18b76af5aede05598df54d28fd9 required: false -- cgit v1.2.1 From 2d10eaba1607f3efaaf3020e4b7c57a31060177e Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Sun, 2 Feb 2020 13:42:34 +0100 Subject: Bump version Change-Id: Ibcb0063877543a2cb09ded212e0940fb45280c71 --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index 24661f4..5c26162 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,4 +3,4 @@ load(qt_build_config) CONFIG += warning_clean DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.14.1 +MODULE_VERSION = 5.14.2 -- cgit v1.2.1 From 8267a8efa829a29f414aec8ce3f1fd2685f6b980 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sun, 2 Feb 2020 22:01:08 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ib93d340d0489da78b9d58bca3f86bfdf86de2fdd Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 3c50302..91dfd94 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 511cb760ee1a35ee1adbb253f5d3f0c16bb91df5 + ref: 0b325602b13e2af21e888fc2243541e528cbb4b8 required: true ../qtdeclarative: - ref: 88d033370238b18b76af5aede05598df54d28fd9 + ref: 8ba73c0134f162afd9aa83b731a8147728642385 required: false -- cgit v1.2.1 From 3bb18b7d6fdeeb425b199aa34a77c8f841ec1a03 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 4 Feb 2020 14:25:09 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I932dc9104073c9eb594958c4c3eea7fe2b8ec3dd Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 91dfd94..aa02116 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 0b325602b13e2af21e888fc2243541e528cbb4b8 + ref: a13e8d6660913bec172d1374f78083498c539df0 required: true ../qtdeclarative: - ref: 8ba73c0134f162afd9aa83b731a8147728642385 + ref: 94d385327d932d27b7277e803d0eaa167f792222 required: false -- cgit v1.2.1 From e9fe145625a0146485524f748c8b518ff967b36b Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 13 Feb 2020 20:00:54 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I831464ed4d37a66f61cf967218ba8947299dc64c Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index aa02116..2e5e357 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: a13e8d6660913bec172d1374f78083498c539df0 + ref: 54c2cebabdda0280b8443c6947b6fee02445e138 required: true ../qtdeclarative: - ref: 94d385327d932d27b7277e803d0eaa167f792222 + ref: 53894241afc022ba1d975d95fe2737f4fa5d475d required: false -- cgit v1.2.1 From 538eb6eccb51adac017c960a874d38d2828f4f06 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 14 Feb 2020 17:01:07 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: If11715112a2365b7986d6c219658fbd488abffb3 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 2e5e357..2d05ff5 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 54c2cebabdda0280b8443c6947b6fee02445e138 + ref: 60feaae1967aca5c7b1b0f6cb732962ddd1b2115 required: true ../qtdeclarative: - ref: 53894241afc022ba1d975d95fe2737f4fa5d475d + ref: 93bca396df537b09f748facd3cee23067f788f10 required: false -- cgit v1.2.1 From 235e4290e8226e34952e140cdd777d8663356c53 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sat, 15 Feb 2020 04:00:55 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I4722735ca7ce6d9322be4d1ce509da2e664cc883 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 2d05ff5..ace1975 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 60feaae1967aca5c7b1b0f6cb732962ddd1b2115 + ref: d4c8ad79c4d815b1a98f53f829aab38286d643bd required: true ../qtdeclarative: - ref: 93bca396df537b09f748facd3cee23067f788f10 + ref: 8b07c01b5e3f4c5efe5d0baabc9cc8c18f9960fc required: false -- cgit v1.2.1 From f6b9b96122095aea6d6136b350077e1e513e0e37 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sun, 16 Feb 2020 01:00:51 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I8d01958d4a8cc2eda41a1c3889f0f335ec23000b Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index ace1975..34925bb 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: d4c8ad79c4d815b1a98f53f829aab38286d643bd + ref: 735fd68dacdf25e51691d2e804d5e9db643e7833 required: true ../qtdeclarative: - ref: 8b07c01b5e3f4c5efe5d0baabc9cc8c18f9960fc + ref: 1486a013dd91222f040dcff3ec3b9cd90c261fd0 required: false -- cgit v1.2.1 From fccb43f3ee253cad1aa2b433a9b91fa1a30c7871 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Sun, 16 Feb 2020 11:01:13 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ib5b668a6ad69becabfe95d1eb3930bf374fe6e92 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 34925bb..7f4f141 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 735fd68dacdf25e51691d2e804d5e9db643e7833 + ref: bd4635009d3ba6ea560bc5f70811fa0afee518fc required: true ../qtdeclarative: - ref: 1486a013dd91222f040dcff3ec3b9cd90c261fd0 + ref: 925a0e499a5dbdb180fd9969a79abf96006ce4fd required: false -- cgit v1.2.1 From 7554e8839ac230b08a0b670c31a4843ba1f17cb1 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Sun, 23 Feb 2020 15:57:28 +0100 Subject: Doc: fix links to autobahn testsuite Fixes: QTBUG-69425 Change-Id: I28e03da927c7a9b1cbfb91a0aca32866c2e653ea Reviewed-by: Christian Ehrlicher --- src/websockets/doc/src/external-resources.qdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/websockets/doc/src/external-resources.qdoc b/src/websockets/doc/src/external-resources.qdoc index 40e4257..da4c5f4 100644 --- a/src/websockets/doc/src/external-resources.qdoc +++ b/src/websockets/doc/src/external-resources.qdoc @@ -86,12 +86,12 @@ */ /*! - \externalpage http://autobahn.ws/testsuite/ + \externalpage https://github.com/crossbario/autobahn-testsuite \title Autobahn|Testsuite */ /*! - \externalpage http://autobahn.ws/testsuite/installation.html + \externalpage https://github.com/crossbario/autobahn-testsuite/blob/master/README.md#installation \title Autobahn|Testsuite installation documentation */ -- cgit v1.2.1 From 9d3eb184c72333a95ee8f9ee33bd51942271de64 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Sun, 23 Feb 2020 15:56:59 +0100 Subject: Doc: fix missing closing comment Change-Id: I2e1f4893b1b4c1270630101c390b937611e5d5e2 Reviewed-by: Paul Wicking --- src/websockets/doc/src/external-resources.qdoc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/websockets/doc/src/external-resources.qdoc b/src/websockets/doc/src/external-resources.qdoc index da4c5f4..ce39b9b 100644 --- a/src/websockets/doc/src/external-resources.qdoc +++ b/src/websockets/doc/src/external-resources.qdoc @@ -103,6 +103,7 @@ /*! \externalpage https://bugzilla.mozilla.org/show_bug.cgi?id=594502 \title Firefox bug 594502 +*/ /* This prevents autolinking of each occurrence of 'WebSocket' -- cgit v1.2.1 From a246fb2ae2a810b62147cf64d96410a26b93e637 Mon Sep 17 00:00:00 2001 From: Jani Heikkinen Date: Tue, 25 Feb 2020 11:59:57 +0200 Subject: Update plugins.qmltypes for 5.15 Task-number: QTBUG-82253 Change-Id: I90199c05f683df18dffe796227fc8e4c0ef9f72d Reviewed-by: Kai Koehne --- src/imports/qmlwebsockets/plugins.qmltypes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imports/qmlwebsockets/plugins.qmltypes b/src/imports/qmlwebsockets/plugins.qmltypes index f1a5a2e..cabe5a2 100644 --- a/src/imports/qmlwebsockets/plugins.qmltypes +++ b/src/imports/qmlwebsockets/plugins.qmltypes @@ -4,7 +4,7 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtWebSockets 1.14' +// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtWebSockets 1.15' Module { dependencies: [] -- cgit v1.2.1 From a844995bb8b48c08c5f6180b727c8f45bd23dfa5 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Sun, 23 Feb 2020 17:00:44 +0100 Subject: WebSocketServer: Add Q_(UN)LIKELY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... to optimize code that is used for error handling. Change-Id: I62fe11d34d32c6784e960505fccbf529a3265d23 Reviewed-by: Christian Ehrlicher Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocketserver_p.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 8c75721..3196ca7 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -439,7 +439,7 @@ void QWebSocketServerPrivate::handshakeReceived() //then we don't have our header complete yet //check that no one is trying to exhaust our virtual memory const qint64 maxHeaderLength = MAX_HEADERLINE_LENGTH * MAX_HEADERLINES + endOfHeaderMarker.size(); - if (byteAvailable > maxHeaderLength) { + if (Q_UNLIKELY(byteAvailable > maxHeaderLength)) { pTcpSocket->close(); setError(QWebSocketProtocol::CloseCodeTooMuchData, QWebSocketServer::tr("Header is too large.")); @@ -453,7 +453,7 @@ void QWebSocketServerPrivate::handshakeReceived() bool success = false; bool isSecure = (m_secureMode == SecureMode); - if (m_pendingConnections.length() >= maxPendingConnections()) { + if (Q_UNLIKELY(m_pendingConnections.length() >= maxPendingConnections())) { pTcpSocket->close(); setError(QWebSocketProtocol::CloseCodeAbnormalDisconnection, QWebSocketServer::tr("Too many pending connections.")); @@ -465,7 +465,7 @@ void QWebSocketServerPrivate::handshakeReceived() //remove our header from the tcpSocket qint64 skippedSize = pTcpSocket->skip(headerSize); - if (skippedSize != headerSize) { + if (Q_UNLIKELY(skippedSize != headerSize)) { pTcpSocket->close(); setError(QWebSocketProtocol::CloseCodeProtocolError, QWebSocketServer::tr("Read handshake request header failed.")); @@ -487,16 +487,16 @@ void QWebSocketServerPrivate::handshakeReceived() supportedProtocols(), supportedExtensions()); - if (response.isValid()) { + if (Q_LIKELY(response.isValid())) { QTextStream httpStream(pTcpSocket); httpStream << response; httpStream.flush(); - if (response.canUpgrade()) { + if (Q_LIKELY(response.canUpgrade())) { QWebSocket *pWebSocket = QWebSocketPrivate::upgradeFrom(pTcpSocket, request, response); - if (pWebSocket) { + if (Q_LIKELY(pWebSocket)) { finishHandshakeTimeout(pTcpSocket); addPendingConnection(pWebSocket); Q_EMIT q->newConnection(); -- cgit v1.2.1 From 87c9513aed424f0c97a78271f59a34873cc7e522 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 27 Feb 2020 09:51:39 +0000 Subject: Revert "QWebSocket - do not use deprecated member-function" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 938ad6373415fa8b0767a987c37ce51ec546859f. Reason for revert: Was undeprecated and replacement removed Change-Id: I79d6e931d72ec518a43fe058e1067b3754f6cf05 Reviewed-by: Mårten Nordheim --- src/websockets/qwebsocket_p.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 1493e15..56c4cdd 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -198,7 +198,7 @@ QAbstractSocket::SocketError QWebSocketPrivate::error() const { QAbstractSocket::SocketError err = QAbstractSocket::UnknownSocketError; if (Q_LIKELY(m_pSocket)) - err = m_pSocket->socketError(); + err = m_pSocket->error(); return err; } -- cgit v1.2.1 From 5bc1a1f85fedd7d65298f0a4c8ea79fb0670c0d7 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 25 Feb 2020 16:03:28 +0100 Subject: Use Qt::SplitBehavior in preference to QString::SplitBehavior The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: If65be10a7c86e7b4173fd31f1d277c63c6accb0a Reviewed-by: Simon Hausmann --- src/websockets/qwebsocket_p.cpp | 3 +-- src/websockets/qwebsockethandshakerequest.cpp | 11 +++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 56c4cdd..ed09278 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -1052,8 +1052,7 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket) } else if (m_httpStatusCode == 400) { //HTTP/1.1 400 Bad Request if (!version.isEmpty()) { - const QStringList versions = version.split(QStringLiteral(", "), - QString::SkipEmptyParts); + const QStringList versions = version.split(QStringLiteral(", "), Qt::SkipEmptyParts); if (!versions.contains(QString::number(QWebSocketProtocol::currentVersion()))) { //if needed to switch protocol version, then we are finished here //because we cannot handle other protocols than the RFC one (v13) diff --git a/src/websockets/qwebsockethandshakerequest.cpp b/src/websockets/qwebsockethandshakerequest.cpp index 19df09b..17275eb 100644 --- a/src/websockets/qwebsockethandshakerequest.cpp +++ b/src/websockets/qwebsockethandshakerequest.cpp @@ -230,7 +230,7 @@ void QWebSocketHandshakeRequest::readHandshake(QTextStream &textStream, int maxH clear(); return; } - const QStringList tokens = requestLine.split(' ', QString::SkipEmptyParts); + const QStringList tokens = requestLine.split(' ', Qt::SkipEmptyParts); if (Q_UNLIKELY(tokens.length() < 3)) { clear(); return; @@ -301,7 +301,7 @@ void QWebSocketHandshakeRequest::readHandshake(QTextStream &textStream, int maxH const QStringList versionLines = m_headers.values(QStringLiteral("sec-websocket-version")); for (QStringList::const_iterator v = versionLines.begin(); v != versionLines.end(); ++v) { - const QStringList versions = (*v).split(QStringLiteral(","), QString::SkipEmptyParts); + const QStringList versions = (*v).split(QStringLiteral(","), Qt::SkipEmptyParts); for (QStringList::const_iterator i = versions.begin(); i != versions.end(); ++i) { bool ok = false; (void)(*i).toUInt(&ok); @@ -321,8 +321,7 @@ void QWebSocketHandshakeRequest::readHandshake(QTextStream &textStream, int maxH const QString upgrade = m_headers.value(QStringLiteral("upgrade"), QString()); //must be equal to "websocket", case-insensitive const QString connection = m_headers.value(QStringLiteral("connection"), QString()); - const QStringList connectionLine = connection.split(QStringLiteral(","), - QString::SkipEmptyParts); + const QStringList connectionLine = connection.split(QStringLiteral(","), Qt::SkipEmptyParts); QStringList connectionValues; for (QStringList::const_iterator c = connectionLine.begin(); c != connectionLine.end(); ++c) connectionValues << (*c).trimmed(); @@ -331,14 +330,14 @@ void QWebSocketHandshakeRequest::readHandshake(QTextStream &textStream, int maxH m_origin = m_headers.value(QStringLiteral("origin"), QString()); const QStringList protocolLines = m_headers.values(QStringLiteral("sec-websocket-protocol")); for (const QString& pl : protocolLines) { - const QStringList protocols = pl.split(QStringLiteral(","), QString::SkipEmptyParts); + const QStringList protocols = pl.split(QStringLiteral(","), Qt::SkipEmptyParts); for (const QString& p : protocols) m_protocols << p.trimmed(); } const QStringList extensionLines = m_headers.values(QStringLiteral("sec-websocket-extensions")); for (const QString& el : extensionLines) { - const QStringList extensions = el.split(QStringLiteral(","), QString::SkipEmptyParts); + const QStringList extensions = el.split(QStringLiteral(","), Qt::SkipEmptyParts); for (const QString& e : extensions) m_extensions << e.trimmed(); } -- cgit v1.2.1 From ad75d2712a838787488e817eec318fc27bae1786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Mon, 9 Mar 2020 17:38:46 +0100 Subject: Stabilize tst_QWebSocketServer::tst_handshakeTimeout The test was a bit flaky which seems to have been due to the short timeout. Increase the timeout a considerable amount, it doesn't matter much to the runtime anyway: the test still takes around 5 seconds to finish. Fixes: QTBUG-82559 Change-Id: Ie14ea204de1cc7ac2951144099d5be88adebef04 Reviewed-by: Timur Pocheptsov --- tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp index a56594c..62d8d43 100644 --- a/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp +++ b/tests/auto/websockets/qwebsocketserver/tst_qwebsocketserver.cpp @@ -781,7 +781,7 @@ void tst_QWebSocketServer::tst_handshakeTimeout() setupSecureServer(&secureServer); if (QTest::currentTestFailed()) return; - secureServer.setHandshakeTimeout(500); + secureServer.setHandshakeTimeout(2000); QSignalSpy secureServerConnectionSpy(&secureServer, SIGNAL(newConnection())); @@ -796,6 +796,11 @@ void tst_QWebSocketServer::tst_handshakeTimeout() QCOMPARE(secureServerConnectionSpy.count(), 0); QWebSocket secureSocket; + connect(&secureSocket, QOverload::of(&QWebSocket::error), + [](QAbstractSocket::SocketError error) { + // This shouldn't print but it's useful for debugging when/if it does. + qDebug() << "Error occurred in the client:" << error; + }); QSslConfiguration config = secureSocket.sslConfiguration(); config.setPeerVerifyMode(QSslSocket::VerifyNone); secureSocket.setSslConfiguration(config); -- cgit v1.2.1 From 0dab7975d64720f08c2263e87f45dd198c93853f Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 10 Mar 2020 09:27:49 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I04b1a767b9a9cdf4d21ec5ecce4318fffca580c4 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 7f4f141..5472016 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: bd4635009d3ba6ea560bc5f70811fa0afee518fc + ref: af00402d6446c0f8f085a2a482fc83c4318aa457 required: true ../qtdeclarative: - ref: 925a0e499a5dbdb180fd9969a79abf96006ce4fd + ref: b1fc5666de5a52b6922e7518ba46f41ca3bdfb90 required: false -- cgit v1.2.1 From 5778652ada0763deb6a61479b2410e1f68542ce9 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Tue, 17 Mar 2020 12:55:51 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I1c3b51d459c8832919cc0bee42c4f453391c0a1d Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 5472016..80b72e4 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: af00402d6446c0f8f085a2a482fc83c4318aa457 + ref: 3a5342163aced5ed1574e42d375eefc963c24ad0 required: true ../qtdeclarative: - ref: b1fc5666de5a52b6922e7518ba46f41ca3bdfb90 + ref: db554e8e1c3242634d035ebb3dcbe3c441d80bdc required: false -- cgit v1.2.1 From 6739d8dc1b51149b00aa127ebdd1e9b74e6223b9 Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Thu, 19 Mar 2020 13:07:03 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: Ic8e16f462502d87f12a527977ea278c042e89658 Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 80b72e4..0749a0c 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 3a5342163aced5ed1574e42d375eefc963c24ad0 + ref: edf5fe49b34225932a7752f2bac0e43f7410f46b required: true ../qtdeclarative: - ref: db554e8e1c3242634d035ebb3dcbe3c441d80bdc + ref: 585ee10c63d9e69dce07674db99c92a3814da157 required: false -- cgit v1.2.1 From 8fc139318b2f870aa633e93874b3fa6e9d1113ae Mon Sep 17 00:00:00 2001 From: Qt Submodule Update Bot Date: Fri, 20 Mar 2020 08:34:33 +0100 Subject: Update dependencies on 'dev' in qt/qtwebsockets Change-Id: I62f1a9ffdf5a54e1a89291714bfd7ca7cc0a86db Reviewed-by: Simon Hausmann --- dependencies.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 0749a0c..c05aa09 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: edf5fe49b34225932a7752f2bac0e43f7410f46b + ref: f5fd9c40cd2db59e2f4eb0f588407658d8a161e6 required: true ../qtdeclarative: - ref: 585ee10c63d9e69dce07674db99c92a3814da157 + ref: 1eef06e64fe91dc1f2148477fb932b293fba0312 required: false -- cgit v1.2.1