qt5-qtbase 5.9.6-2 (x86_64;i586) 2018-4586
-9999

Status rejected
Submitter cris [@T] beebgames.com
Platform 3.0
Repository main
URL https://abf.openmandriva.org/build_lists/223666
Packages
lib64qt5accessibilitysupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5bootstrap-devel-5.9.6-2.x86_64.binary
lib64qt5concurrent5-5.9.6-2.x86_64.binary
lib64qt5concurrent-devel-5.9.6-2.x86_64.binary
lib64qt5core5-5.9.6-2.x86_64.binary
lib64qt5core-devel-5.9.6-2.x86_64.binary
lib64qt5dbus5-5.9.6-2.x86_64.binary
lib64qt5dbus-devel-5.9.6-2.x86_64.binary
lib64qt5devicediscoverysupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5eglfsdeviceintegration5-5.9.6-2.x86_64.binary
lib64qt5eglfsdeviceintegration-devel-5.9.6-2.x86_64.binary
lib64qt5eglsupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5eventdispatchersupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5fbsupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5fontdatabasesupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5glxsupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5gui5-5.9.6-2.x86_64.binary
lib64qt5gui5-eglfs-5.9.6-2.x86_64.binary
lib64qt5gui5-eglfs-devel-5.9.6-2.x86_64.binary
lib64qt5gui5-linuxfb-5.9.6-2.x86_64.binary
lib64qt5gui5-minimal-5.9.6-2.x86_64.binary
lib64qt5gui5-minimalegl-5.9.6-2.x86_64.binary
lib64qt5gui5-offscreen-5.9.6-2.x86_64.binary
lib64qt5gui5-vnc-5.9.6-2.x86_64.binary
lib64qt5gui5-x11-5.9.6-2.x86_64.binary
lib64qt5gui-devel-5.9.6-2.x86_64.binary
lib64qt5inputsupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5linuxaccessibilitysupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5network5-5.9.6-2.x86_64.binary
lib64qt5network-devel-5.9.6-2.x86_64.binary
lib64qt5opengl5-5.9.6-2.x86_64.binary
lib64qt5opengl-devel-5.9.6-2.x86_64.binary
lib64qt5platformcompositorsupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5printsupport5-5.9.6-2.x86_64.binary
lib64qt5printsupport-devel-5.9.6-2.x86_64.binary
lib64qt5servicesupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5sql5-5.9.6-2.x86_64.binary
lib64qt5sql5-mysql-5.9.6-2.x86_64.binary
lib64qt5sql5-odbc-5.9.6-2.x86_64.binary
lib64qt5sql5-postgresql-5.9.6-2.x86_64.binary
lib64qt5sql5-sqlite-5.9.6-2.x86_64.binary
lib64qt5sql-devel-5.9.6-2.x86_64.binary
lib64qt5test5-5.9.6-2.x86_64.binary
lib64qt5test-devel-5.9.6-2.x86_64.binary
lib64qt5themesupport-static-devel-5.9.6-2.x86_64.binary
lib64qt5widgets5-5.9.6-2.x86_64.binary
lib64qt5widgets-devel-5.9.6-2.x86_64.binary
lib64qt5xcbqpa5-5.9.6-2.x86_64.binary
lib64qt5xcbqpa-devel-5.9.6-2.x86_64.binary
lib64qt5xml5-5.9.6-2.x86_64.binary
lib64qt5xml-devel-5.9.6-2.x86_64.binary
qlalr5-5.9.6-2.x86_64.binary
qmake5-5.9.6-2.x86_64.binary
qt5-devel-5.9.6-2.x86_64.binary
qt5-examples-5.9.6-2.x86_64.binary
qt5-macros-5.9.6-2.x86_64.binary
qt5-platformtheme-gtk3-5.9.6-2.x86_64.binary
qt5-porting-tools-5.9.6-2.x86_64.binary
qt5-qtbase-5.9.6-2.x86_64.source
qt5-qtbase-debuginfo-5.9.6-2.x86_64.debuginfo
qt5-qtbase-devel-5.9.6-2.x86_64.binary
qt5-qtchooser-5.9.6-2.x86_64.binary
libqt5accessibilitysupport-static-devel-5.9.6-2.i586.binary
libqt5bootstrap-devel-5.9.6-2.i586.binary
libqt5concurrent5-5.9.6-2.i586.binary
libqt5concurrent-devel-5.9.6-2.i586.binary
libqt5core5-5.9.6-2.i586.binary
libqt5core-devel-5.9.6-2.i586.binary
libqt5dbus5-5.9.6-2.i586.binary
libqt5dbus-devel-5.9.6-2.i586.binary
libqt5devicediscoverysupport-static-devel-5.9.6-2.i586.binary
libqt5eglfsdeviceintegration5-5.9.6-2.i586.binary
libqt5eglfsdeviceintegration-devel-5.9.6-2.i586.binary
libqt5eglsupport-static-devel-5.9.6-2.i586.binary
libqt5eventdispatchersupport-static-devel-5.9.6-2.i586.binary
libqt5fbsupport-static-devel-5.9.6-2.i586.binary
libqt5fontdatabasesupport-static-devel-5.9.6-2.i586.binary
libqt5glxsupport-static-devel-5.9.6-2.i586.binary
libqt5gui5-5.9.6-2.i586.binary
libqt5gui5-eglfs-5.9.6-2.i586.binary
libqt5gui5-eglfs-devel-5.9.6-2.i586.binary
libqt5gui5-linuxfb-5.9.6-2.i586.binary
libqt5gui5-minimal-5.9.6-2.i586.binary
libqt5gui5-minimalegl-5.9.6-2.i586.binary
libqt5gui5-offscreen-5.9.6-2.i586.binary
libqt5gui5-vnc-5.9.6-2.i586.binary
libqt5gui5-x11-5.9.6-2.i586.binary
libqt5gui-devel-5.9.6-2.i586.binary
libqt5inputsupport-static-devel-5.9.6-2.i586.binary
libqt5linuxaccessibilitysupport-static-devel-5.9.6-2.i586.binary
libqt5network5-5.9.6-2.i586.binary
libqt5network-devel-5.9.6-2.i586.binary
libqt5opengl5-5.9.6-2.i586.binary
libqt5opengl-devel-5.9.6-2.i586.binary
libqt5platformcompositorsupport-static-devel-5.9.6-2.i586.binary
libqt5printsupport5-5.9.6-2.i586.binary
libqt5printsupport-devel-5.9.6-2.i586.binary
libqt5servicesupport-static-devel-5.9.6-2.i586.binary
libqt5sql5-5.9.6-2.i586.binary
libqt5sql5-mysql-5.9.6-2.i586.binary
libqt5sql5-odbc-5.9.6-2.i586.binary
libqt5sql5-postgresql-5.9.6-2.i586.binary
libqt5sql5-sqlite-5.9.6-2.i586.binary
libqt5sql-devel-5.9.6-2.i586.binary
libqt5test5-5.9.6-2.i586.binary
libqt5test-devel-5.9.6-2.i586.binary
libqt5themesupport-static-devel-5.9.6-2.i586.binary
libqt5widgets5-5.9.6-2.i586.binary
libqt5widgets-devel-5.9.6-2.i586.binary
libqt5xcbqpa5-5.9.6-2.i586.binary
libqt5xcbqpa-devel-5.9.6-2.i586.binary
libqt5xml5-5.9.6-2.i586.binary
libqt5xml-devel-5.9.6-2.i586.binary
qlalr5-5.9.6-2.i586.binary
qmake5-5.9.6-2.i586.binary
qt5-devel-5.9.6-2.i586.binary
qt5-examples-5.9.6-2.i586.binary
qt5-macros-5.9.6-2.i586.binary
qt5-platformtheme-gtk3-5.9.6-2.i586.binary
qt5-porting-tools-5.9.6-2.i586.binary
qt5-qtbase-5.9.6-2.i586.source
qt5-qtbase-debuginfo-5.9.6-2.i586.debuginfo
qt5-qtbase-devel-5.9.6-2.i586.binary
qt5-qtchooser-5.9.6-2.i586.binary
Build Date 2018-07-12 06:49:36 +0000 UTC
Last Updated 2018-07-14 01:01:00.387929251 +0000 UTC
$ git diff --patch-with-stat --summary ef7e2a17f999db4141a47552751b87293ca9331d..b8c36848516c6dc2c46a079b66bf295694888252

 .abf.yml                                           |   4 +-
 0004-Port-qsslkey.patch                            |  61 ++++-------
 0009-Update-copyrights.patch                       |  63 +++--------
 ...efs-for-old-versions-from-the-dlopen-glue.patch |  10 +-
 ...us-crashes-during-application-destruction.patch | 120 ---------------------
 qt5-qtbase-5.8-QTBUG-56140.patch                   |  48 +++++++++
 qt5-qtbase.spec                                    |  22 ++--
 qtbase-opensource-src-5.9.6-QTBUG-68939.patch      |  93 ++++++++++++++++
 8 files changed, 195 insertions(+), 226 deletions(-)
 delete mode 100644 Fix-some-QtDBus-crashes-during-application-destruction.patch
 create mode 100644 qt5-qtbase-5.8-QTBUG-56140.patch
 create mode 100644 qtbase-opensource-src-5.9.6-QTBUG-68939.patch

diff --git a/.abf.yml b/.abf.yml
index e818479..ba8654d 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,4 @@
+removed_sources:
+  qtbase-opensource-src-5.9.2.tar.xz: 65332ea9fbeb31384a87fd22ff5ad2d6251bf893
 sources:
-  qtbase-opensource-src-5.8.0.tar.xz: eacdd022615734ccdba4e7a92f1f5f3366c0c415
+  qtbase-opensource-src-5.9.6.tar.xz: 2b191d464d8c795ba81e5b6871fc88559e6e75aa
diff --git a/0004-Port-qsslkey.patch b/0004-Port-qsslkey.patch
index 807733d..90263d9 100644
--- a/0004-Port-qsslkey.patch
+++ b/0004-Port-qsslkey.patch
@@ -1,19 +1,5 @@
-From 4e90ef83e0d418220b8a8410e6231db98b3c6021 Mon Sep 17 00:00:00 2001
-From: "Richard J. Moore" <rich@kde.org>
-Date: Sun, 24 Jul 2016 13:53:40 +0100
-Subject: [PATCH 04/23] Port qsslkey
-
-Change-Id: If9a798b5dd2f4a2b895d4e37b792a467fe6d63cb
----
- src/network/ssl/qsslkey_openssl.cpp            | 42 +++++++++++++-------------
- src/network/ssl/qsslsocket_openssl_symbols.cpp |  7 +++++
- src/network/ssl/qsslsocket_openssl_symbols_p.h |  4 +++
- 3 files changed, 32 insertions(+), 21 deletions(-)
-
-diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp
-index 79df33e..344a809 100644
---- a/src/network/ssl/qsslkey_openssl.cpp
-+++ b/src/network/ssl/qsslkey_openssl.cpp
+--- qtbase-opensource-src-5.9.2/src/network/ssl/qsslkey_openssl.cpp.0053~	2017-10-02 10:43:38.000000000 +0200
++++ qtbase-opensource-src-5.9.2/src/network/ssl/qsslkey_openssl.cpp	2017-10-06 14:07:40.057013276 +0200
 @@ -39,6 +39,7 @@
  
  
@@ -22,10 +8,10 @@ index 79df33e..344a809 100644
  #include "qsslkey_p.h"
  #include "qsslsocket_openssl_symbols_p.h"
  #include "qsslsocket.h"
-@@ -84,32 +85,30 @@ void QSslKeyPrivate::clear(bool deep)
+@@ -87,32 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PK
+     if (pkey == nullptr)
+         return false;
  
- bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey)
- {
 -    if (pkey->type == EVP_PKEY_RSA) {
 +    int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
 +
@@ -33,7 +19,7 @@ index 79df33e..344a809 100644
          isNull = false;
          algorithm = QSsl::Rsa;
          type = QSsl::PrivateKey;
--
+ 
 -        rsa = q_RSA_new();
 -        memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA));
 +        rsa = q_EVP_PKEY_get1_RSA(pkey);
@@ -45,7 +31,7 @@ index 79df33e..344a809 100644
          isNull = false;
          algorithm = QSsl::Dsa;
          type = QSsl::PrivateKey;
--
+ 
 -        dsa = q_DSA_new();
 -        memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA));
 +        dsa = q_EVP_PKEY_get1_DSA(pkey);
@@ -63,7 +49,7 @@ index 79df33e..344a809 100644
  
          return true;
      }
-@@ -178,8 +177,8 @@ int QSslKeyPrivate::length() const
+@@ -181,8 +182,8 @@ int QSslKeyPrivate::length() const
          return -1;
  
      switch (algorithm) {
@@ -74,7 +60,7 @@ index 79df33e..344a809 100644
  #ifndef OPENSSL_NO_EC
          case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec));
  #endif
-@@ -273,7 +272,7 @@ Qt::HANDLE QSslKeyPrivate::handle() const
+@@ -276,7 +277,7 @@ Qt::HANDLE QSslKeyPrivate::handle() cons
  
  static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc)
  {
@@ -83,7 +69,7 @@ index 79df33e..344a809 100644
      const EVP_CIPHER* type = 0;
      int i = 0, len = 0;
  
-@@ -291,21 +290,22 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data,
+@@ -294,21 +295,22 @@ static QByteArray doCrypt(QSslKeyPrivate
  
      QByteArray output;
      output.resize(data.size() + EVP_MAX_BLOCK_LENGTH);
@@ -114,11 +100,9 @@ index 79df33e..344a809 100644
  
      return output.left(len);
  }
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-index b2c1c03..a764787 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -165,10 +165,14 @@ DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYA
+--- qtbase-opensource-src-5.9.2/src/network/ssl/qsslsocket_openssl_symbols.cpp.0053~	2017-10-06 14:03:05.659812295 +0200
++++ qtbase-opensource-src-5.9.2/src/network/ssl/qsslsocket_openssl_symbols.cpp	2017-10-06 14:03:05.660812292 +0200
+@@ -165,10 +165,14 @@ DEFINEFUNC(void, CRYPTO_set_id_callback,
  DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
  DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return)
  DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
@@ -133,7 +117,7 @@ index b2c1c03..a764787 100644
  DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
  DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
  DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return);
-@@ -234,6 +238,7 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
+@@ -236,6 +240,7 @@ DEFINEFUNC2(void, RAND_seed, const void
  DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
  DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return)
  DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
@@ -141,7 +125,7 @@ index b2c1c03..a764787 100644
  DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
  DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
  #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-@@ -809,6 +814,7 @@ bool q_resolveOpenSslSymbols()
+@@ -810,6 +815,7 @@ bool q_resolveOpenSslSymbols()
      RESOLVEFUNC(CRYPTO_set_locking_callback)
      RESOLVEFUNC(DSA_new)
      RESOLVEFUNC(DSA_free)
@@ -149,7 +133,7 @@ index b2c1c03..a764787 100644
      RESOLVEFUNC(ERR_error_string)
      RESOLVEFUNC(ERR_get_error)
      RESOLVEFUNC(ERR_free_strings)
-@@ -874,6 +880,7 @@ bool q_resolveOpenSslSymbols()
+@@ -877,6 +883,7 @@ bool q_resolveOpenSslSymbols()
      RESOLVEFUNC(RAND_status)
      RESOLVEFUNC(RSA_new)
      RESOLVEFUNC(RSA_free)
@@ -157,11 +141,9 @@ index b2c1c03..a764787 100644
      RESOLVEFUNC(sk_new_null)
      RESOLVEFUNC(sk_push)
      RESOLVEFUNC(sk_free)
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-index 111e3d9..4e3f386 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-@@ -253,10 +253,13 @@ void q_CRYPTO_set_id_callback(unsigned long (*a)());
+--- qtbase-opensource-src-5.9.2/src/network/ssl/qsslsocket_openssl_symbols_p.h.0053~	2017-10-06 14:03:05.659812295 +0200
++++ qtbase-opensource-src-5.9.2/src/network/ssl/qsslsocket_openssl_symbols_p.h	2017-10-06 14:03:05.660812292 +0200
+@@ -253,10 +253,13 @@ void q_CRYPTO_set_id_callback(unsigned l
  void q_CRYPTO_free(void *a);
  DSA *q_DSA_new();
  void q_DSA_free(DSA *a);
@@ -175,7 +157,7 @@ index 111e3d9..4e3f386 100644
  void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);
  void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);
  int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
-@@ -326,6 +329,7 @@ void q_RAND_seed(const void *a, int b);
+@@ -328,6 +331,7 @@ void q_RAND_seed(const void *a, int b);
  int q_RAND_status();
  RSA *q_RSA_new();
  void q_RSA_free(RSA *a);
@@ -183,6 +165,3 @@ index 111e3d9..4e3f386 100644
  int q_sk_num(STACK *a);
  void q_sk_pop_free(STACK *a, void (*b)(void *));
  #if OPENSSL_VERSION_NUMBER >= 0x10000000L
--- 
-2.10.0
-
diff --git a/0009-Update-copyrights.patch b/0009-Update-copyrights.patch
index 6d73c82..c043b7a 100644
--- a/0009-Update-copyrights.patch
+++ b/0009-Update-copyrights.patch
@@ -1,23 +1,5 @@
-From 610cc2c676ad49640715b8001d384727638028af Mon Sep 17 00:00:00 2001
-From: "Richard J. Moore" <rich@kde.org>
-Date: Sun, 24 Jul 2016 20:32:55 +0100
-Subject: [PATCH 09/23] Update copyrights
-
-Change-Id: I4f1940d385c15552938986b6bf45c2b1b265d754
----
- src/network/ssl/qsslcertificate_openssl.cpp             | 1 +
- src/network/ssl/qsslcontext_openssl.cpp                 | 1 +
- src/network/ssl/qssldiffiehellmanparameters_openssl.cpp | 1 +
- src/network/ssl/qsslkey_openssl.cpp                     | 1 +
- src/network/ssl/qsslsocket_openssl.cpp                  | 1 +
- src/network/ssl/qsslsocket_openssl_symbols.cpp          | 1 +
- src/network/ssl/qsslsocket_openssl_symbols_p.h          | 1 +
- 7 files changed, 7 insertions(+)
-
-diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp
-index 284053e..72fa076 100644
---- a/src/network/ssl/qsslcertificate_openssl.cpp
-+++ b/src/network/ssl/qsslcertificate_openssl.cpp
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslcertificate_openssl.cpp.0058~	2017-04-08 13:48:57.377091332 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslcertificate_openssl.cpp	2017-04-08 13:48:57.420091630 +0200
 @@ -1,6 +1,7 @@
  /****************************************************************************
  **
@@ -26,10 +8,8 @@ index 284053e..72fa076 100644
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
-diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
-index 38bb86b..391fd08 100644
---- a/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/src/network/ssl/qsslcontext_openssl.cpp
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslcontext_openssl.cpp.0058~	2017-04-08 13:48:57.346091117 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslcontext_openssl.cpp	2017-04-08 13:48:57.420091630 +0200
 @@ -3,6 +3,7 @@
  ** Copyright (C) 2016 The Qt Company Ltd.
  ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
@@ -38,22 +18,18 @@ index 38bb86b..391fd08 100644
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
-diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-index b72af15..471c8f6 100644
---- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-+++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp.0058~	2017-04-08 13:48:57.420091630 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp	2017-04-08 13:49:35.708358591 +0200
 @@ -1,6 +1,7 @@
  /****************************************************************************
  **
  ** Copyright (C) 2015 Mikkel Krautz <mikkel@krautz.dk>
 +** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: http://www.qt.io/licensing/
+ ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
-diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp
-index c2ad022..77bc348 100644
---- a/src/network/ssl/qsslkey_openssl.cpp
-+++ b/src/network/ssl/qsslkey_openssl.cpp
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslkey_openssl.cpp.0058~	2017-04-08 13:48:57.338091062 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslkey_openssl.cpp	2017-04-08 13:48:57.420091630 +0200
 @@ -1,6 +1,7 @@
  /****************************************************************************
  **
@@ -62,10 +38,8 @@ index c2ad022..77bc348 100644
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
-diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
-index ce1e12e..9dffabc 100644
---- a/src/network/ssl/qsslsocket_openssl.cpp
-+++ b/src/network/ssl/qsslsocket_openssl.cpp
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslsocket_openssl.cpp.0058~	2017-04-08 13:48:57.378091339 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslsocket_openssl.cpp	2017-04-08 13:48:57.420091630 +0200
 @@ -2,6 +2,7 @@
  **
  ** Copyright (C) 2016 The Qt Company Ltd.
@@ -74,10 +48,8 @@ index ce1e12e..9dffabc 100644
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-index d922074..fc2220d 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslsocket_openssl_symbols.cpp.0058~	2017-04-08 13:48:57.378091339 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslsocket_openssl_symbols.cpp	2017-04-08 13:48:57.421091637 +0200
 @@ -2,6 +2,7 @@
  **
  ** Copyright (C) 2016 The Qt Company Ltd.
@@ -86,10 +58,8 @@ index d922074..fc2220d 100644
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-index ccdeea2..04b904b 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+--- qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslsocket_openssl_symbols_p.h.0058~	2017-04-08 13:48:57.378091339 +0200
++++ qtbase-opensource-src-5.9.0-beta/src/network/ssl/qsslsocket_openssl_symbols_p.h	2017-04-08 13:48:57.421091637 +0200
 @@ -2,6 +2,7 @@
  **
  ** Copyright (C) 2016 The Qt Company Ltd.
@@ -98,6 +68,3 @@ index ccdeea2..04b904b 100644
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the QtNetwork module of the Qt Toolkit.
--- 
-2.10.0
-
diff --git a/0010-Remove-ifdefs-for-old-versions-from-the-dlopen-glue.patch b/0010-Remove-ifdefs-for-old-versions-from-the-dlopen-glue.patch
index a0d729b..992427e 100644
--- a/0010-Remove-ifdefs-for-old-versions-from-the-dlopen-glue.patch
+++ b/0010-Remove-ifdefs-for-old-versions-from-the-dlopen-glue.patch
@@ -1,5 +1,5 @@
---- qtbase-opensource-src-5.8.0-beta/src/network/ssl/qsslsocket_openssl_symbols.cpp.0059~	2016-11-07 16:25:56.415033637 +0100
-+++ qtbase-opensource-src-5.8.0-beta/src/network/ssl/qsslsocket_openssl_symbols.cpp	2016-11-07 16:25:56.417033593 +0100
+--- qtbase-opensource-src-5.9.0-alpha/src/network/ssl/qsslsocket_openssl_symbols.cpp.0059~	2017-03-02 21:15:32.317012611 +0100
++++ qtbase-opensource-src-5.9.0-alpha/src/network/ssl/qsslsocket_openssl_symbols.cpp	2017-03-02 21:17:30.845632755 +0100
 @@ -152,9 +152,7 @@ DEFINEFUNC3(int, BIO_read, BIO *a, a, vo
  DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
  DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
@@ -7,7 +7,7 @@
 -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
 -#endif
- DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return -1, return)
+ DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast<BN_ULONG>(-1), return)
  #ifndef OPENSSL_NO_EC
  DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return)
 @@ -239,17 +237,10 @@ DEFINEFUNC(void, RSA_free, RSA *a, a, re
@@ -160,8 +160,8 @@
  #endif // OPENSSL_NO_EC
      RESOLVEFUNC(PKCS12_parse)
      RESOLVEFUNC(d2i_PKCS12_bio)
---- qtbase-opensource-src-5.8.0-beta/src/network/ssl/qsslsocket_openssl_symbols_p.h.0059~	2016-11-07 16:25:56.416033615 +0100
-+++ qtbase-opensource-src-5.8.0-beta/src/network/ssl/qsslsocket_openssl_symbols_p.h	2016-11-07 16:28:45.041226326 +0100
+--- qtbase-opensource-src-5.9.0-alpha/src/network/ssl/qsslsocket_openssl_symbols_p.h.0059~	2017-03-02 21:15:32.317012611 +0100
++++ qtbase-opensource-src-5.9.0-alpha/src/network/ssl/qsslsocket_openssl_symbols_p.h	2017-03-02 21:15:32.319012621 +0100
 @@ -229,20 +229,7 @@ int q_BIO_read(BIO *a, void *b, int c);
  Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem();
  Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
diff --git a/Fix-some-QtDBus-crashes-during-application-destruction.patch b/Fix-some-QtDBus-crashes-during-application-destruction.patch
deleted file mode 100644
index ce88f7d..0000000
--- a/Fix-some-QtDBus-crashes-during-application-destruction.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From d060b7aa5fc64902ea89416e58b57d6a90f5aea6 Mon Sep 17 00:00:00 2001
-From: Thiago Macieira <thiago.macieira@intel.com>
-Date: Tue, 31 May 2016 17:33:03 -0300
-Subject: [PATCH] Fix some QtDBus crashes during application destruction
-
-It's possible that some code executes after QDBusConnectionManager is
-destroyed and still tries to access QtDBus. Protect against such
-crashes.
-
-Change-Id: I87e17314d8b24ae983b1fffd1453c13fbd3cf48e
----
- src/dbus/qdbusconnection.cpp | 12 ++++++++----
- src/dbus/qdbusintegrator.cpp |  3 +++
- src/dbus/qdbusserver.cpp     | 12 ++++++++++--
- 3 files changed, 21 insertions(+), 6 deletions(-)
-
-diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
-index 4db6396..c1c4f05 100644
---- a/src/dbus/qdbusconnection.cpp
-+++ b/src/dbus/qdbusconnection.cpp
-@@ -429,7 +429,7 @@ void QDBusConnectionManager::createServer(const QString &address, void *server)
- */
- QDBusConnection::QDBusConnection(const QString &name)
- {
--    if (name.isEmpty()) {
-+    if (name.isEmpty() || _q_manager.isDestroyed()) {
-         d = 0;
-     } else {
-         QMutexLocker locker(&_q_manager()->mutex);
-@@ -494,7 +494,7 @@ QDBusConnection &QDBusConnection::operator=(const QDBusConnection &other)
- */
- QDBusConnection QDBusConnection::connectToBus(BusType type, const QString &name)
- {
--    if (!qdbus_loadLibDBus()) {
-+    if (_q_manager.isDestroyed() || !qdbus_loadLibDBus()) {
-         QDBusConnectionPrivate *d = 0;
-         return QDBusConnection(d);
-     }
-@@ -508,7 +508,7 @@ QDBusConnection QDBusConnection::connectToBus(BusType type, const QString &name)
- QDBusConnection QDBusConnection::connectToBus(const QString &address,
-                                               const QString &name)
- {
--    if (!qdbus_loadLibDBus()) {
-+    if (_q_manager.isDestroyed() || !qdbus_loadLibDBus()) {
-         QDBusConnectionPrivate *d = 0;
-         return QDBusConnection(d);
-     }
-@@ -523,7 +523,7 @@ QDBusConnection QDBusConnection::connectToBus(const QString &address,
- QDBusConnection QDBusConnection::connectToPeer(const QString &address,
-                                                const QString &name)
- {
--    if (!qdbus_loadLibDBus()) {
-+    if (_q_manager.isDestroyed() || !qdbus_loadLibDBus()) {
-         QDBusConnectionPrivate *d = 0;
-         return QDBusConnection(d);
-     }
-@@ -1178,6 +1178,8 @@ bool QDBusConnection::unregisterService(const QString &serviceName)
- */
- QDBusConnection QDBusConnection::sessionBus()
- {
-+    if (_q_manager.isDestroyed())
-+        return QDBusConnection(Q_NULLPTR);
-     return QDBusConnection(_q_manager()->busConnection(SessionBus));
- }
- 
-@@ -1190,6 +1192,8 @@ QDBusConnection QDBusConnection::sessionBus()
- */
- QDBusConnection QDBusConnection::systemBus()
- {
-+    if (_q_manager.isDestroyed())
-+        return QDBusConnection(Q_NULLPTR);
-     return QDBusConnection(_q_manager()->busConnection(SystemBus));
- }
- 
-diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
-index 37d2ae1..9ea30d1 100644
---- a/src/dbus/qdbusintegrator.cpp
-+++ b/src/dbus/qdbusintegrator.cpp
-@@ -293,6 +293,9 @@ static void qDBusNewConnection(DBusServer *server, DBusConnection *connection, v
-     Q_ASSERT(connection);
-     Q_ASSERT(data);
- 
-+    if (!QDBusConnectionManager::instance())
-+        return;
-+
-     // keep the connection alive
-     q_dbus_connection_ref(connection);
-     QDBusConnectionPrivate *serverConnection = static_cast<QDBusConnectionPrivate *>(data);
-diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp
-index babb270..ecb7d4f 100644
---- a/src/dbus/qdbusserver.cpp
-+++ b/src/dbus/qdbusserver.cpp
-@@ -62,7 +62,11 @@ QDBusServer::QDBusServer(const QString &address, QObject *parent)
-     if (!qdbus_loadLibDBus())
-         return;
- 
--    emit QDBusConnectionManager::instance()->serverRequested(address, this);
-+    QDBusConnectionManager *instance = QDBusConnectionManager::instance();
-+    if (!instance)
-+        return;
-+
-+    emit instance->serverRequested(address, this);
-     QObject::connect(d, SIGNAL(newServerConnection(QDBusConnectionPrivate*)),
-                      this, SLOT(_q_newConnection(QDBusConnectionPrivate*)), Qt::QueuedConnection);
- }
-@@ -87,7 +91,11 @@ QDBusServer::QDBusServer(QObject *parent)
-         return;
-     }
- 
--    emit QDBusConnectionManager::instance()->serverRequested(address, this);
-+    QDBusConnectionManager *instance = QDBusConnectionManager::instance();
-+    if (!instance)
-+        return;
-+
-+    emit instance->serverRequested(address, this);
-     QObject::connect(d, SIGNAL(newServerConnection(QDBusConnectionPrivate*)),
-                      this, SLOT(_q_newConnection(QDBusConnectionPrivate*)), Qt::QueuedConnection);
- }
--- 
-2.7.4
diff --git a/qt5-qtbase-5.8-QTBUG-56140.patch b/qt5-qtbase-5.8-QTBUG-56140.patch
new file mode 100644
index 0000000..e3024f7
--- /dev/null
+++ b/qt5-qtbase-5.8-QTBUG-56140.patch
@@ -0,0 +1,48 @@
+diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp
+--- qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp.0295	2017-02-09 07:41:56.976681266 -0600
++++ qtbase-opensource-src-5.7.1/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp	2017-02-09 07:43:31.812667108 -0600
+@@ -222,7 +222,7 @@ QDpi QEGLDeviceIntegration::logicalDpi()
+ 
+ qreal QEGLDeviceIntegration::pixelDensity() const
+ {
+-    return qRound(logicalDpi().first / qreal(100));
++    return qMax(1, qRound(logicalDpi().first / qreal(100)));
+ }
+ 
+ Qt::ScreenOrientation QEGLDeviceIntegration::nativeOrientation() const
+diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp
+--- qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp.0295	2016-12-01 02:17:04.000000000 -0600
++++ qtbase-opensource-src-5.7.1/src/plugins/platforms/windows/qwindowsscreen.cpp	2017-02-09 07:41:56.976681266 -0600
+@@ -264,7 +264,7 @@ qreal QWindowsScreen::pixelDensity() con
+     // the pixel density since it is reflects the Windows UI scaling.
+     // High DPI auto scaling should be disabled when the user chooses
+     // small fonts on a High DPI monitor, resulting in lower logical DPI.
+-    return qRound(logicalDpi().first / 96);
++    return qMax(1, qRound(logicalDpi().first / 96));
+ }
+ 
+ /*!
+diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp
+--- qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp.0295	2016-12-01 02:17:04.000000000 -0600
++++ qtbase-opensource-src-5.7.1/src/plugins/platforms/winrt/qwinrtscreen.cpp	2017-02-09 07:41:56.976681266 -0600
+@@ -644,7 +644,7 @@ QDpi QWinRTScreen::logicalDpi() const
+ qreal QWinRTScreen::pixelDensity() const
+ {
+     Q_D(const QWinRTScreen);
+-    return qRound(d->logicalDpi / 96);
++    return qMax(1, qRound(d->logicalDpi / 96));
+ }
+ 
+ qreal QWinRTScreen::scaleFactor() const
+diff -up qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.0295 qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp
+--- qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp.0295	2016-12-01 02:17:04.000000000 -0600
++++ qtbase-opensource-src-5.7.1/src/plugins/platforms/xcb/qxcbscreen.cpp	2017-02-09 07:41:56.977681276 -0600
+@@ -633,7 +633,7 @@ void QXcbScreen::updateGeometry(const QR
+         m_sizeMillimeters = sizeInMillimeters(xGeometry.size(), virtualDpi());
+ 
+     qreal dpi = xGeometry.width() / physicalSize().width() * qreal(25.4);
+-    m_pixelDensity = qRound(dpi/96);
++    m_pixelDensity = qMax(1, qRound(dpi/96));
+     m_geometry = QRect(xGeometry.topLeft(), xGeometry.size());
+     m_availableGeometry = xGeometry & m_virtualDesktop->workArea();
+     QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec
index 305a190..0c6f074 100644
--- a/qt5-qtbase.spec
+++ b/qt5-qtbase.spec
@@ -101,13 +101,13 @@
 
 Summary:	Version 5 of the Qt toolkit
 Name:		qt5-qtbase
-Version:	5.8.0
+Version:	5.9.6
 %if "%{beta}" != ""
 Release:	0.%{beta}.1
 %define qttarballdir qtbase-opensource-src-%{version}-%{beta}
 Source0:	http://download.qt.io/development_releases/qt/%(echo %{version}|cut -d. -f1-2)/%{version}-%{beta}/submodules/%{qttarballdir}.tar.xz
 %else
-Release:	5
+Release:	2
 %define qttarballdir qtbase-opensource-src-%{version}
 Source0:	http://download.qt.io/official_releases/qt/%(echo %{version}|cut -d. -f1-2)/%{version}/submodules/%{qttarballdir}.tar.xz
 %endif
@@ -165,14 +165,8 @@ Patch102:	qtbase-opensource-src-5.6.0-moc_WORDSIZE.patch
 ### END OF FEDORA PATCHES
 
 # (tpg) Upstream patches
-Patch1005:	Merge-the-QDBusMetaTypes-custom-information-to-QDBusConnectionManager.patch
-Patch1006:	Fix-some-QtDBus-crashes-during-application-destruction.patch
-# plasma crashes
-# https://bugs.kde.org/show_bug.cgi?id=342763
-Patch1008:	0c8f3229.patch
-Patch1009:	3bd0fd8f.patch
-Patch1007:	0874861b.patch
-Patch1010:	baad82d2.patch
+#Patch1005:	Merge-the-QDBusMetaTypes-custom-information-to-QDBusConnectionManager.patch
+Patch1006:	qtbase-opensource-src-5.9.6-QTBUG-68939.patch
 
 # FIXME this is broken -- but currently required because QtGui
 # and friends prefer linking to system QtCore over linking to the
@@ -181,6 +175,8 @@ BuildConflicts:	%{mklibname -d qt5core} < %{version}
 
 BuildRequires:	jpeg-devel
 BuildRequires:	double-conversion-devel
+# PCRE 2.x
+BuildRequires:	pkgconfig(libpcre2-16)
 # Build scripts
 BuildRequires:	python >= 3.0
 BuildRequires:	python2
@@ -637,6 +633,9 @@ Development files for the EGL fullscreen output driver for QtGui v5.
 %files -n %{qtgui}-eglfs-devel
 %{_qt_libdir}/libQt%{api}EglFsKmsSupport.so
 %{_qt_libdir}/libQt%{api}EglFsKmsSupport.prl
+%{_qt_includedir}/QtKmsSupport
+%{_libdir}/libQt5KmsSupport.a
+%{_libdir}/libQt5KmsSupport.prl
 
 #----------------------------------------------------------------------------
 
@@ -1593,7 +1592,8 @@ export PATH=`pwd`/pybin:$PATH
 %if %{with mysql}
 	-I %{_includedir}/mysql \
 %endif
-	-I %{_includedir}/vg
+	-I %{_includedir}/vg \
+	-D PCRE2_CODE_UNIT_WIDTH=16
 
 %make STRIP=/bin/true || make STRIP=/bin/true
 
diff --git a/qtbase-opensource-src-5.9.6-QTBUG-68939.patch b/qtbase-opensource-src-5.9.6-QTBUG-68939.patch
new file mode 100644
index 0000000..2268a64
--- /dev/null
+++ b/qtbase-opensource-src-5.9.6-QTBUG-68939.patch
@@ -0,0 +1,93 @@
+From 7706a3c307ebabc46564b3361c7e452b63cf0f61 Mon Sep 17 00:00:00 2001
+From: "R.J.V. Bertin" <rjvbertin@gmail.com>
+Date: Wed, 27 Jun 2018 16:47:48 +0200
+Subject: [PATCH] Use QDockArea cached sizehint appropriately
+
+The fix for QTBUG-16252 introduced a regression because it cached
+QDockArea sizehints and used this information regardless of whether
+the docks were expanded (showing widgets) or not. As a result, certain
+applications would no longer dimension views surrounded by QDocks to the
+full available space but instead act as if those docks were always
+expanded.
+
+This patch fixes that regression by checking whether the dock areas
+actually have visible widgets that are not floating before using the
+cached size hint.
+
+Task-number: QTBUG-68939
+Change-Id: I71732de739788337fcd46ed8ac4ecfef1ef6e239
+---
+ src/widgets/widgets/qdockarealayout.cpp | 33 +++++++++++++++++++++------------
+ 1 file changed, 21 insertions(+), 12 deletions(-)
+
+diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
+index bef7214c756..c3b386d7cc3 100644
+--- a/src/widgets/widgets/qdockarealayout.cpp
++++ b/src/widgets/widgets/qdockarealayout.cpp
+@@ -2652,6 +2652,23 @@ void QDockAreaLayout::removePlaceHolder(const QString &name)
+ 
+ static inline int qMax(int i1, int i2, int i3) { return qMax(i1, qMax(i2, i3)); }
+ 
++static QSize sizeHintForDock(QDockAreaLayoutInfo &dock)
++{
++    QSize size_hint = dock.size();
++    if (!dock.restoredSizeHint.isNull()) {
++        const auto item_list = dock.item_list;
++        for (int i = 0; i < item_list.size(); ++i) {
++            const QDockAreaLayoutItem &item = item_list.at(i);
++            const auto w = item.widgetItem;
++            if (!item.skip() && w != 0 && !w->widget()->isHidden() && !w->widget()->isWindow()) {
++                size_hint = dock.restoredSizeHint;
++                break;
++            }
++        }
++    }
++    return size_hint;
++}
++
+ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
+                                 QVector<QLayoutStruct> *_hor_struct_list)
+ {
+@@ -2677,36 +2694,28 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
+     if (!docks[QInternal::BottomDock].isEmpty())
+         center_rect.setBottom(rect.bottom() - docks[QInternal::BottomDock].rect.height() - sep);
+ 
+-    QSize left_hint = docks[QInternal::LeftDock].size();
+-    if (!docks[QInternal::LeftDock].restoredSizeHint.isNull())
+-        left_hint = docks[QInternal::LeftDock].restoredSizeHint;
++    QSize left_hint = sizeHintForDock(docks[QInternal::LeftDock]);
+     if (left_hint.isNull() || fallbackToSizeHints)
+         left_hint = docks[QInternal::LeftDock].sizeHint();
+     QSize left_min = docks[QInternal::LeftDock].minimumSize();
+     QSize left_max = docks[QInternal::LeftDock].maximumSize();
+     left_hint = left_hint.boundedTo(left_max).expandedTo(left_min);
+ 
+-    QSize right_hint = docks[QInternal::RightDock].size();
+-    if (!docks[QInternal::RightDock].restoredSizeHint.isNull())
+-        right_hint = docks[QInternal::RightDock].restoredSizeHint;
++    QSize right_hint = sizeHintForDock(docks[QInternal::RightDock]);
+     if (right_hint.isNull() || fallbackToSizeHints)
+         right_hint = docks[QInternal::RightDock].sizeHint();
+     QSize right_min = docks[QInternal::RightDock].minimumSize();
+     QSize right_max = docks[QInternal::RightDock].maximumSize();
+     right_hint = right_hint.boundedTo(right_max).expandedTo(right_min);
+ 
+-    QSize top_hint = docks[QInternal::TopDock].size();
+-    if (!docks[QInternal::TopDock].restoredSizeHint.isNull())
+-        top_hint = docks[QInternal::TopDock].restoredSizeHint;
++    QSize top_hint = sizeHintForDock(docks[QInternal::TopDock]);
+     if (top_hint.isNull() || fallbackToSizeHints)
+         top_hint = docks[QInternal::TopDock].sizeHint();
+     QSize top_min = docks[QInternal::TopDock].minimumSize();
+     QSize top_max = docks[QInternal::TopDock].maximumSize();
+     top_hint = top_hint.boundedTo(top_max).expandedTo(top_min);
+ 
+-    QSize bottom_hint = docks[QInternal::BottomDock].size();
+-    if (!docks[QInternal::BottomDock].restoredSizeHint.isNull())
+-        bottom_hint = docks[QInternal::BottomDock].restoredSizeHint;
++    QSize bottom_hint = sizeHintForDock(docks[QInternal::BottomDock]);
+     if (bottom_hint.isNull() || fallbackToSizeHints)
+         bottom_hint = docks[QInternal::BottomDock].sizeHint();
+     QSize bottom_min = docks[QInternal::BottomDock].minimumSize();
+-- 
+2.16.3
Not Available

benbullard79 [@T] cox.netsuperceded2329d 15hrs
benbullard79 [@T] cox.netNo Comment.2329d 15hrs