Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/5.11' into 5.12
Browse files Browse the repository at this point in the history
Change-Id: If49df791f73e9edf616baa094e0f301a44cb853d
  • Loading branch information
Qt Forward Merge Bot committed Dec 10, 2018
2 parents 8d7542a + cf708de commit 0a88c5e
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 14 deletions.
94 changes: 94 additions & 0 deletions dist/changes-5.11.3
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
Qt 5.11.3 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.11.0 through 5.11.2.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

http://doc.qt.io/qt-5/index.html

The Qt version 5.11 series is binary compatible with the 5.10.x series.
Applications compiled for 5.10 will continue to run with 5.11.

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.

****************************************************************************
* Third-Party Components *
****************************************************************************

- libpng was updated to version 1.6.35
- PCRE2 was updated to version 10.32.
- Added documentation for the SLJIT part of pcre2, which is available
under the BSD-2-Clause license.

****************************************************************************
* Documentation *
****************************************************************************

- Fixed the icons for the "file save" action that were inaccurate
representations of a 3.5-inch floppy disk (the cut edge was on the wrong
side). Now all floppy representations are physically accurate.

****************************************************************************
* QtCore *
****************************************************************************

- QCommandLineParser:
* [QTBUG-70174] Fixed a bug that caused the help output to show two
options or more in the same line if the options didn't have a
description.

- QDateTime:
* [QTBUG-70823] Fixed parsing of date/time strings when the day is the
start of daylight savings and that starts at midnight on the
timezone.

- QPluginLoader:
* [QTBUG-70560] Fixed a bug in parsing certain plugins, which might
conclude a valid plugin wasn't valid.

- QPointer:
* [QTBUG-71412] Fixed a race condition that would cause an assertion
failure when two threads created a QPointer for the same QObject.

- QUrl:
* Fixed a bug that caused QUrl::matches to incorrectly compare two URLs
with different hostnames or different usernames as equal, if certain
QUrl::RemoveXxx options were passed.
* [QTBUG-70386][QTBUG-70852] Updated the public DNS suffix list.

****************************************************************************
* QtGui *
****************************************************************************

- QPicture:
* [QTBUG-71208] Fix crash reading malformed picture file

****************************************************************************
* QtNetwork *
****************************************************************************

- SSL:
* [QTBUG-68156] OpenSSL >= 1.0 is now required to build Qt with OpenSSL
support.

****************************************************************************
* Linux *
****************************************************************************

- Fixed a number of incompatibilities with Linux C libraries due to use of
new kernel system calls statx(2) and renameat2(2). In order to enable
them now in Qt, they need to be provided in the C library's own
headers. Currently, glibc 2.28 contains them.

****************************************************************************
* macOS *
****************************************************************************

- Offline renderers will be disabled when the application is
using Qt WebEngine and running on one of the late 2013 Mac Pro models.
27 changes: 18 additions & 9 deletions src/network/ssl/qsslsocket_openssl_symbols.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -824,7 +824,7 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
// reason, we will search a few common paths (see findAllLibSsl() above) in hopes
// we find one that works.
//
// If that fails, for OpenSSL 1.0 we also try a fallback -- just look up
// If that fails, for OpenSSL 1.0 we also try some fallbacks -- look up
// libssl.so with a hardcoded soname. The reason is QTBUG-68156: the binary
// builds of Qt happen (at the time of this writing) on RHEL machines,
// which change SHLIB_VERSION_NUMBER to a non-portable string. When running
Expand Down Expand Up @@ -857,14 +857,23 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
}

#if !QT_CONFIG(opensslv11)
// first-and-half attempt: for OpenSSL 1.0 try to load an hardcoded soname.
libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String("1.0.0"));
libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String("1.0.0"));
if (libcrypto->load() && libssl->load()) {
return pair;
} else {
libssl->unload();
libcrypto->unload();
// first-and-half attempts: for OpenSSL 1.0 try to load some hardcoded sonames:
// - "1.0.0" is the official upstream one
// - "1.0.2" is found on some distributions (e.g. Debian) that patch OpenSSL
static const QLatin1String fallbackSonames[] = {
QLatin1String("1.0.0"),
QLatin1String("1.0.2")
};

for (auto fallbackSoname : fallbackSonames) {
libssl->setFileNameAndVersion(QLatin1String("ssl"), fallbackSoname);
libcrypto->setFileNameAndVersion(QLatin1String("crypto"), fallbackSoname);
if (libcrypto->load() && libssl->load()) {
return pair;
} else {
libssl->unload();
libcrypto->unload();
}
}
#endif
#endif
Expand Down
18 changes: 13 additions & 5 deletions src/plugins/platforms/windows/qwindowssystemtrayicon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -382,12 +382,20 @@ bool QWindowsSystemTrayIcon::winEvent(const MSG &message, long *result)
emit activated(DoubleClick); // release we must ignore it
break;
case WM_CONTEXTMENU: {
// QTBUG-67966: Coordinates may be out of any screen in PROCESS_DPI_UNAWARE mode
// since hi-res coordinates are delivered in this case (Windows issue).
// Default to primary screen with check to prevent a crash.
const QPoint globalPos = QPoint(GET_X_LPARAM(message.wParam), GET_Y_LPARAM(message.wParam));
const QPlatformScreen *screen = QWindowsContext::instance()->screenManager().screenAtDp(globalPos);
emit contextMenuRequested(globalPos, screen);
emit activated(Context);
if (m_menu)
m_menu->trackPopupMenu(message.hwnd, globalPos.x(), globalPos.y());
const auto &screenManager = QWindowsContext::instance()->screenManager();
const QPlatformScreen *screen = screenManager.screenAtDp(globalPos);
if (!screen)
screen = screenManager.screens().value(0);
if (screen) {
emit contextMenuRequested(globalPos, screen);
emit activated(Context);
if (m_menu)
m_menu->trackPopupMenu(message.hwnd, globalPos.x(), globalPos.y());
}
}
break;
case NIN_BALLOONUSERCLICK:
Expand Down
1 change: 1 addition & 0 deletions src/widgets/kernel/qopenglwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -756,6 +756,7 @@ void QOpenGLWidgetPrivate::recreateFbo()

fbo->bind();
context->functions()->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
flushPending = true; // Make sure the FBO is initialized before use

paintDevice->setSize(deviceSize);
paintDevice->setDevicePixelRatio(q->devicePixelRatioF());
Expand Down

0 comments on commit 0a88c5e

Please sign in to comment.