Merge remote-tracking branch 'origin/release' into stable
Change-Id: I815757e33b6c0b1e702c8e386e8e30307f78e318
This commit is contained in:
commit
3b3a9fe53f
206
dist/changes-5.1.1
vendored
Normal file
206
dist/changes-5.1.1
vendored
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
Qt 5.1.1 is a bug-fix release. It maintains both forward and backward
|
||||||
|
compatibility (source and binary) with Qt 5.1.0.
|
||||||
|
|
||||||
|
For more details, refer to the online documentation included in this
|
||||||
|
distribution. The documentation is also available online:
|
||||||
|
|
||||||
|
http://qt-project.org/doc/qt-5.1/
|
||||||
|
|
||||||
|
The Qt version 5.1 series is binary compatible with the 5.0.x series.
|
||||||
|
Applications compiled for 5.0 will continue to run with 5.1.
|
||||||
|
|
||||||
|
Some of the changes listed in this file include issue tracking numbers
|
||||||
|
corresponding to tasks in the Qt Bug Tracker:
|
||||||
|
|
||||||
|
http://bugreports.qt-project.org/
|
||||||
|
|
||||||
|
Each of these identifiers can be entered in the bug tracker to obtain more
|
||||||
|
information about a particular change.
|
||||||
|
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
* General *
|
||||||
|
****************************************************************************
|
||||||
|
|
||||||
|
- Add support for Visual Studio 2013
|
||||||
|
- Remove obsolete 'register' C keyword
|
||||||
|
- Speed up font database loading with fontconfig
|
||||||
|
- [QTBUG-32284] Fix incomplete override of QIODevice::open in QProcess and QLocalSocket
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
* Library *
|
||||||
|
****************************************************************************
|
||||||
|
|
||||||
|
QtCore
|
||||||
|
------
|
||||||
|
|
||||||
|
- Add basic conversion functions from QVariant(QJsonValue)
|
||||||
|
- Fix crash when re-creating QThreadData after initially destroying it
|
||||||
|
- Fix the host_bins variable in the QtCore pkg-config file
|
||||||
|
- QUrl stringprep: fix handling of U+0080: it's prohibited
|
||||||
|
- QUrl stringprep: avoid recalculating the surrogates we already know
|
||||||
|
- QUrl stringprep: fix handling of prohibited characters
|
||||||
|
- QUrl stringprep: fix case folding from non-BMP to BMP
|
||||||
|
- QUrl stringprep: recalculate the current position if the size changes
|
||||||
|
- [QTBUG-24345] Prevent negative size in QBitArray, QVector and QVarLengthArray ctors
|
||||||
|
- [QTBUG-25732] Mention QRect's int min/max constraints in detailed description
|
||||||
|
- [QTBUG-29391] fix infinite loop in QProcessPrivate::drainOutputPipes
|
||||||
|
- [QTBUG-29391] QWinOverlappedIoNotifier: fix race condition
|
||||||
|
- [QTBUG-31341] Fix watch of files/folders with special characters
|
||||||
|
- [QTBUG-31606] Fix dead lock in the Qt event handling
|
||||||
|
- [QTBUG-31926] Fix the number precision in QJsonDocument.toJson() again
|
||||||
|
- [QTBUG-32100] Remove default argument from declarations of qHash as friend
|
||||||
|
- [QTBUG-32314] QDir::mkpath shouldn't fail if parent directory denies access
|
||||||
|
- [QTBUG-32354] fix endless loop in QProcess/Win drainOutputPipes
|
||||||
|
- [QTBUG-32500] Ensure that the user codecs are listed in QTextCodec::availableCodecs
|
||||||
|
|
||||||
|
QtDBus
|
||||||
|
------
|
||||||
|
|
||||||
|
- [QTBUG-27973] Fix disconnectFrom{Peer,Bus} when the connection failed
|
||||||
|
- [QTBUG-31932] Don't crash if the relayed signal was emitted from the wrong thread
|
||||||
|
- [QTBUG-32374] Fix QDBusAbstractInterface::isValid() for peer connections
|
||||||
|
|
||||||
|
QtGui
|
||||||
|
-----
|
||||||
|
|
||||||
|
- Restore smooth-scaled drawing of 0.5x-2.0x scaled glyphs in the GL engine
|
||||||
|
- QIcon: Avoid fetching twice the same pixmap
|
||||||
|
- Fix FBO restoring in QOpenGLTextureGlyphCache
|
||||||
|
- [QTBUG-28284] Set projection matrix for systems with OpenGL 3.1
|
||||||
|
- [QTBUG-31443] QPdfWriter: Fix setting of paper size
|
||||||
|
- [QTBUG-32193] REG: Fix crash when mixing projected/unprojected text painting
|
||||||
|
- [QTBUG-32433] Detect popup window correctly in modal window blocked handling
|
||||||
|
|
||||||
|
QtNetwork
|
||||||
|
---------
|
||||||
|
|
||||||
|
- Correct algorithm for digest auth when using the CONNECT verb
|
||||||
|
- Add reconnect attempts in more cases in QHttpNetworkConnectionChannel
|
||||||
|
- [QTBUG-32404] HTTP internals: do not access reply that was deleted already
|
||||||
|
- [QTBUG-32534] QHttpMultiPart: fix data corruption in readData method
|
||||||
|
|
||||||
|
QtPrintSupport
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- [QTBUG-31790] Initialize UI of widget-based dialog.
|
||||||
|
|
||||||
|
QtWidgets
|
||||||
|
---------
|
||||||
|
|
||||||
|
- Display sizegrip on QMdiSubWindows, even on OS X 10.7 and later
|
||||||
|
- Check if widget inherits from QTextEdit when drawing the frame
|
||||||
|
- Fix QWidget::isActiveWindow for window containers
|
||||||
|
- Hide placeholder text when QLineEdit has preedit text
|
||||||
|
- [QTBUG-19036] Make *ItemBoundingRect modes work with custom shapes.
|
||||||
|
- [QTBUG-29945] Fix dropshadow and blur graphics effects
|
||||||
|
- [QTBUG-31044] QDockWidget: Keep position when undocking
|
||||||
|
- [QTBUG-31569] If a QWidget is ignored for auto-quit, ignore its corresponding QWindow
|
||||||
|
- [QTBUG-31664] Recognize separator item in QMenu
|
||||||
|
- [QTBUG-31904] Fix rotation of text in vertical QDockWidget titlebars in QFusionStyle
|
||||||
|
- [QTBUG-32054] Set correct cell when selecting custom color cell with arrow keys
|
||||||
|
- [QTBUG-32061] Fix the cursor position of an empty QLineEdit with a placeholder text
|
||||||
|
- [QTBUG-32177] Search toplevel when setting the active window from focus window
|
||||||
|
- [QTBUG-32260] Consider virtual screen when determining dock widget visibility
|
||||||
|
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
* Platform Specific Changes *
|
||||||
|
****************************************************************************
|
||||||
|
|
||||||
|
Qt for Linux
|
||||||
|
------------
|
||||||
|
|
||||||
|
- XCB: Don't use Xlib's XBell() function
|
||||||
|
- XCB: Append 0-character to atom name string
|
||||||
|
- Resolve modifier mask conflicts on X11
|
||||||
|
- Fix system tray icon on X11
|
||||||
|
- [QTBUG-31418] Fix for when we don't have XSettings
|
||||||
|
- [QTBUG-32274] Fix handling of non-latin1 shortcuts
|
||||||
|
|
||||||
|
Qt for Mac
|
||||||
|
----------
|
||||||
|
|
||||||
|
- Disable window restoration for the Mac font panel
|
||||||
|
- Simplify qt_mac_cgimage_to_nsimage code
|
||||||
|
- QMacStyle: fix auto-default button animation
|
||||||
|
- Make the macx-xcode spec a wrapper around the default spec
|
||||||
|
- Scope cached Mac SDK tool values by mkspec
|
||||||
|
- Further followup to Q_OS_MACX changes
|
||||||
|
- Fix QSpinBox clipping issue on Mac when frame=false
|
||||||
|
- QMacStyle: enable scroll style changes for non-QScrollBars
|
||||||
|
- Support Mac key equivalent Cmd+Period
|
||||||
|
- Re-establish platform menu QObject hierarchy
|
||||||
|
- [QTBUG-28336] Fixed broken prl files in debug-and-release framework builds of qt
|
||||||
|
- [QTBUG-31477] Let Cocoa pick the right pixmap for menu item icons
|
||||||
|
- [QTBUG-31532] Don't update the menubar when popups are shown
|
||||||
|
- [QTBUG-31619] Cocoa save file dialog behavior fix
|
||||||
|
- [QTBUG-31819] Fix shared color panel usage
|
||||||
|
- [QTBUG-31562] Fix for OS X QFileDialog showing bundle as directory
|
||||||
|
- [QTBUG-32440] Avoid a potential crash in unignoredChildren
|
||||||
|
- [QTBUG-32831] Don't release the printer after using it to change a property
|
||||||
|
|
||||||
|
Qt for Windows
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- Clear window under mouse in destruction of platform window
|
||||||
|
- Prevent activation of windows with Qt::WindowDoesNotAcceptFocus
|
||||||
|
- Better errorhandling for the fontengine on WINCE
|
||||||
|
- Windows: Synthesize expose event for shrinking windows
|
||||||
|
- Windows font database: Resolve aliases for extra fonts
|
||||||
|
- Bugfix QDesktopServices on Windows
|
||||||
|
- ActiveQt: Pass native parent handle property from widget to widget window
|
||||||
|
- REG: Fix character size when exporting PDF on Windows
|
||||||
|
- Fix crash caused by ~QWindowsWindow flushing the event queue
|
||||||
|
- Show native file dialog on Windows XP Professional x64 Edition
|
||||||
|
- Fix detection of synthesized mouse events for MSVC / 64bit
|
||||||
|
- Display a message box if platform plugin cannot be found
|
||||||
|
- Fix auto-enabling of windows style
|
||||||
|
- Fixes QKeyEvent::count() on Windows
|
||||||
|
|
||||||
|
Qt for BlackBerry
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
- Disable xkbcommon when building for QNX from Windows
|
||||||
|
- [QTBUG-32385] Handle Qt::WindowDoesNotAcceptFocus correctly
|
||||||
|
|
||||||
|
Qt for Android
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- Get SSL root certificates from TrustManager
|
||||||
|
- Adjust to new SDK layout on Windows
|
||||||
|
- Make PCRE's JIT work on Android devices
|
||||||
|
|
||||||
|
Qt for iOS
|
||||||
|
----------
|
||||||
|
|
||||||
|
- iOS: Make sure we're deleting framebuffers in the right context
|
||||||
|
|
||||||
|
****************************************************************************
|
||||||
|
* Tools *
|
||||||
|
****************************************************************************
|
||||||
|
|
||||||
|
- configure
|
||||||
|
|
||||||
|
* [QTBUG-5366] Complain about bad arguments to -make/-nomake
|
||||||
|
* [QTBUG-21778] Catch accidental use of -no-make
|
||||||
|
* [QTBUG-28763] Don't enable EGL support if OpenGL is disabled
|
||||||
|
|
||||||
|
- cmake config files
|
||||||
|
|
||||||
|
* Use absolute path in the /usr move workaround if -libdir is specified
|
||||||
|
* Always use forward slashes in paths passed to cmake
|
||||||
|
* Make clients use the QT_NO_DEBUG flag when using QtCore in release mode
|
||||||
|
* [QTBUG-32134] Add path to the headers in frameworks to the include dirs
|
||||||
|
* [QTBUG-32466] Don't check for the existence of private include directories
|
||||||
|
|
||||||
|
- qmake
|
||||||
|
|
||||||
|
* [QTBUG-5301] basic manifest tool support in vc(x)proj generator
|
||||||
|
* [QTBUG-19352] Resolve output of .depend_command relative to $$OUT_PWD
|
||||||
|
* [QTBUG-29826] Only add the res_file to the generated files if there is no rc_file
|
||||||
|
* [QTBUG-29988] VPATH resolution: don't crash when $(FOO) expands to nothing
|
||||||
|
* [QTBUG-30993] Changed project dependencies for solution files
|
||||||
|
* [QTBUG-31877] Make $$list() more backwards-compatible regarding backslashes
|
||||||
|
* [QTBUG-31975] MANIFEST:NO is not written to vcproj
|
||||||
|
* [QTBUG-32326] Escape paths coming from prl files
|
@ -555,33 +555,37 @@ static void setSurface(JNIEnv *env, jobject /*thiz*/, jobject jSurface)
|
|||||||
m_nativeWindow = nativeWindow;
|
m_nativeWindow = nativeWindow;
|
||||||
if (m_waitForWindow)
|
if (m_waitForWindow)
|
||||||
m_waitForWindowSemaphore.release();
|
m_waitForWindowSemaphore.release();
|
||||||
if (m_androidPlatformIntegration && !sameNativeWindow) {
|
|
||||||
m_surfaceMutex.unlock();
|
if (m_androidPlatformIntegration) {
|
||||||
m_androidPlatformIntegration->surfaceChanged();
|
|
||||||
} else if (m_androidPlatformIntegration && sameNativeWindow) {
|
|
||||||
QPlatformScreen *screen = m_androidPlatformIntegration->screen();
|
|
||||||
QSize size = QtAndroid::nativeWindowSize();
|
QSize size = QtAndroid::nativeWindowSize();
|
||||||
|
|
||||||
|
QPlatformScreen *screen = m_androidPlatformIntegration->screen();
|
||||||
QRect geometry(QPoint(0, 0), size);
|
QRect geometry(QPoint(0, 0), size);
|
||||||
QWindowSystemInterface::handleScreenAvailableGeometryChange(screen->screen(), geometry);
|
QWindowSystemInterface::handleScreenAvailableGeometryChange(screen->screen(), geometry);
|
||||||
QWindowSystemInterface::handleScreenGeometryChange(screen->screen(), geometry);
|
QWindowSystemInterface::handleScreenGeometryChange(screen->screen(), geometry);
|
||||||
|
|
||||||
// Resize all top level windows, since they share the same surface
|
if (!sameNativeWindow) {
|
||||||
foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
|
m_surfaceMutex.unlock();
|
||||||
QAndroidOpenGLPlatformWindow *window =
|
m_androidPlatformIntegration->surfaceChanged();
|
||||||
static_cast<QAndroidOpenGLPlatformWindow *>(w->handle());
|
} else {
|
||||||
|
// Resize all top level windows, since they share the same surface
|
||||||
|
foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
|
||||||
|
QAndroidOpenGLPlatformWindow *window =
|
||||||
|
static_cast<QAndroidOpenGLPlatformWindow *>(w->handle());
|
||||||
|
|
||||||
if (window != 0) {
|
if (window != 0) {
|
||||||
window->lock();
|
window->lock();
|
||||||
window->scheduleResize(size);
|
window->scheduleResize(size);
|
||||||
|
|
||||||
QWindowSystemInterface::handleExposeEvent(window->window(),
|
QWindowSystemInterface::handleExposeEvent(window->window(),
|
||||||
QRegion(window->window()->geometry()));
|
QRegion(window->window()->geometry()));
|
||||||
window->unlock();
|
window->unlock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_surfaceMutex.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_surfaceMutex.unlock();
|
|
||||||
} else {
|
} else {
|
||||||
m_surfaceMutex.unlock();
|
m_surfaceMutex.unlock();
|
||||||
}
|
}
|
||||||
|
@ -84,9 +84,19 @@ void QAndroidOpenGLPlatformWindow::invalidateSurface()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QAndroidOpenGLPlatformWindow::updateStaticNativeWindow()
|
||||||
|
{
|
||||||
|
QWriteLocker locker(&m_staticSurfaceLock);
|
||||||
|
m_staticNativeWindow = QtAndroid::nativeWindow(false);
|
||||||
|
}
|
||||||
|
|
||||||
void QAndroidOpenGLPlatformWindow::resetSurface()
|
void QAndroidOpenGLPlatformWindow::resetSurface()
|
||||||
{
|
{
|
||||||
m_referenceCount.ref();
|
// Only add a reference if we're not already holding one, otherwise we're just updating
|
||||||
|
// the native window pointer
|
||||||
|
if (m_window == 0)
|
||||||
|
m_referenceCount.ref();
|
||||||
|
|
||||||
if (m_staticSurface == 0) {
|
if (m_staticSurface == 0) {
|
||||||
QWriteLocker locker(&m_staticSurfaceLock);
|
QWriteLocker locker(&m_staticSurfaceLock);
|
||||||
QEglFSWindow::resetSurface();
|
QEglFSWindow::resetSurface();
|
||||||
@ -94,12 +104,17 @@ void QAndroidOpenGLPlatformWindow::resetSurface()
|
|||||||
m_staticNativeWindow = m_window;
|
m_staticNativeWindow = m_window;
|
||||||
} else {
|
} else {
|
||||||
QReadLocker locker(&m_staticSurfaceLock);
|
QReadLocker locker(&m_staticSurfaceLock);
|
||||||
Q_ASSERT(m_staticSurface != m_surface);
|
|
||||||
m_window = m_staticNativeWindow;
|
m_window = m_staticNativeWindow;
|
||||||
m_surface = m_staticSurface;
|
m_surface = m_staticSurface;
|
||||||
}
|
}
|
||||||
|
|
||||||
QWindowSystemInterface::handleExposeEvent(window(), QRegion(geometry())); // Expose event
|
{
|
||||||
|
lock();
|
||||||
|
scheduleResize(QtAndroid::nativeWindowSize());
|
||||||
|
QWindowSystemInterface::handleExposeEvent(window(), QRegion(geometry())); // Expose event
|
||||||
|
unlock();
|
||||||
|
}
|
||||||
|
|
||||||
QWindowSystemInterface::flushWindowSystemEvents();
|
QWindowSystemInterface::flushWindowSystemEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,6 +71,8 @@ public:
|
|||||||
|
|
||||||
void destroy();
|
void destroy();
|
||||||
|
|
||||||
|
static void updateStaticNativeWindow();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QSize m_scheduledResize;
|
QSize m_scheduledResize;
|
||||||
QMutex m_lock;
|
QMutex m_lock;
|
||||||
|
@ -162,6 +162,7 @@ void QAndroidPlatformIntegration::invalidateNativeSurface()
|
|||||||
|
|
||||||
void QAndroidPlatformIntegration::surfaceChanged()
|
void QAndroidPlatformIntegration::surfaceChanged()
|
||||||
{
|
{
|
||||||
|
QAndroidOpenGLPlatformWindow::updateStaticNativeWindow();
|
||||||
foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
|
foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
|
||||||
QAndroidOpenGLPlatformWindow *window =
|
QAndroidOpenGLPlatformWindow *window =
|
||||||
static_cast<QAndroidOpenGLPlatformWindow *>(w->handle());
|
static_cast<QAndroidOpenGLPlatformWindow *>(w->handle());
|
||||||
|
Loading…
Reference in New Issue
Block a user