Merge remote-tracking branch 'origin/release' into stable

Change-Id: Icedabda08961326a0a447ec71f1b0f0f5df075eb
This commit is contained in:
Frederik Gladhorn 2013-04-03 15:43:39 +02:00
commit a4121a21c0
13 changed files with 88 additions and 20 deletions

2
configure vendored
View File

@ -3040,7 +3040,7 @@ fi
QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"` QT_INSTALL_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_BINS"`
if [ "$XPLATFORM_MINGW" = "yes" ]; then if [ "$XPLATFORM_MINGW" = "yes" ]; then
QT_INSTALL_LIBEXECS_DIRNAME="lib" QT_INSTALL_LIBEXECS_DIRNAME="bin"
else else
QT_INSTALL_LIBEXECS_DIRNAME="libexec" QT_INSTALL_LIBEXECS_DIRNAME="libexec"
fi fi

49
dist/changes-5.0.2 vendored
View File

@ -22,9 +22,6 @@ information about a particular change.
General Improvements General Improvements
-------------------- --------------------
- [QTBUG-26697] The -skip option was added to configure, which enables not
building particular modules. Typical use case: -skip webkit.
Third party components Third party components
---------------------- ----------------------
@ -50,6 +47,8 @@ QtGui
QtWidgets QtWidgets
--------- ---------
- [QTBUG-28817] Fixed QColorDialog::setOption(), QFontDialog::setOption().
QtNetwork QtNetwork
--------- ---------
@ -88,6 +87,10 @@ Qt for Linux/X11
Qt for Windows Qt for Windows
-------------- --------------
- [QTBUG-30185] Fixed adding of suffixes in Window native file save dialog.
- [QTBUG-29010, QTBUG-28531] Fixed handling of layered windows required for
translucent or non-opaque windows.
Qt for Mac OS X Qt for Mac OS X
--------------- ---------------
@ -110,12 +113,52 @@ Qt for Windows CE
* Tools * * Tools *
**************************************************************************** ****************************************************************************
Build System & configure
------------------------
- [QTBUG-26697] The -skip option was added to configure, which enables not
building particular modules. Typical use case: -skip webkit.
- [QTBUG-28769, ...] Assorted build fixes
- [QTBUG-28902] Fixed contents of installed .prl files
- [QTBUG-29110, QTBUG-29186, ...] Assorted fixes to CMake config files
- [QTBUG-29174] Fixed numerous configure options which start with -l
- [QTBUG-29400] Fixed configure -fully-process not creating .vcproj files
- [QTBUG-29453, ...] Fixed generation of pkg-config .pc files
- [QTBUG-29478] Fixed static builds with ICU
- [QTBUG-29661] Fixed QtWebProcess.exe not finding Qt DLLs. -libexec
now defaults to bin/ on Windows.
- [QTBUG-29838] Fixed module versioning when mixing releases
- [QTBUG-30102] Fixed passing of values with spaces to -device-option
- Production builds do not build examples any more. 'make install' will
copy only the example sources.
- pkg-config: qt_config is now contained only in Qt5Core.pc, and it reflects
QT_CONFIG, not the module build's CONFIG.
qmake qmake
----- -----
- [QTBUG-28132] Fixed parallelized 'jom install'
- [QTBUG-29143] MSVC: Fixed parsing of /openmp
- [QTBUG-29286] MSVC: Fixed use of VERSION breaking MSVC2010 projects
- [QTBUG-29329] MSVC: Fixed misparsing of /Gs as /GS
- [QTBUG-29329] MSVC: Stopped disabling buffer security check by default
- [QTBUG-29371] Fixed generation of XCode projects for XCode 4.6
- [QTBUG-29698] MSVC: Fixed incremental linking with non-standard shells
- [QTBUG-29700] Fixed pkg-config file generation when cross-compiling
- Qt modules are now enumerated in QT_MODULES, not QT_CONFIG. For portability,
use qtHaveModule() (since 5.0.1) or !isEmpty(QT.<module>.name) instead.
- $$(VAR) style environment variable expansions will not split on - $$(VAR) style environment variable expansions will not split on
whitespace any more. Use $$split() if necessary. whitespace any more. Use $$split() if necessary.
- Fixed qmake -tp vc (and configure without -no-vcproj)
- MSVC: Fixed an empty VERSION causing a garbled version in .rc files
- Windows: Added support for specifying application icon (via RC_ICONS)
- Added spec for BlackBerry Playbook
moc
---
- [QTBUG-29759] Fixed infinite recursion in macro substitution which
prevented some headers to compile.
**************************************************************************** ****************************************************************************
* Plugins * * Plugins *

View File

@ -1,5 +1,11 @@
QT += opengl widgets QT += opengl widgets
contains(QT_CONFIG, opengles.) {
contains(QT_CONFIG, angle): \
warning("Qt was built with ANGLE, which provides only OpenGL ES 2.0 on top of DirectX 9.0c")
error("This example requires Qt to be configured with -opengl desktop")
}
HEADERS += 3rdparty/fbm.h \ HEADERS += 3rdparty/fbm.h \
glbuffers.h \ glbuffers.h \
glextensions.h \ glextensions.h \

View File

@ -9,6 +9,9 @@
# We mean it. # We mean it.
# #
# Ensure that each module has a .qmake.cache when properly qmake'd.
cache()
load(qt_build_config) load(qt_build_config)
TEMPLATE = subdirs TEMPLATE = subdirs

View File

@ -195,7 +195,7 @@
Suppose we have a class MyClass, which is derived from QObject and Suppose we have a class MyClass, which is derived from QObject and
which uses the Q_OBJECT macro in its private section. We want to which uses the Q_OBJECT macro in its private section. We want to
declare a property in MyClass to keep track of a priorty declare a property in MyClass to keep track of a priority
value. The name of the property will be \e priority, and its type value. The name of the property will be \e priority, and its type
will be an enumeration type named \e Priority, which is defined in will be an enumeration type named \e Priority, which is defined in
MyClass. MyClass.

View File

@ -273,7 +273,11 @@ static const struct {
{ "Documentation", "doc" }, // should be ${Data}/doc { "Documentation", "doc" }, // should be ${Data}/doc
{ "Headers", "include" }, { "Headers", "include" },
{ "Libraries", "lib" }, { "Libraries", "lib" },
#ifdef Q_OS_WIN
{ "LibraryExecutables", "bin" },
#else
{ "LibraryExecutables", "libexec" }, // should be ${ArchData}/libexec { "LibraryExecutables", "libexec" }, // should be ${ArchData}/libexec
#endif
{ "Binaries", "bin" }, { "Binaries", "bin" },
{ "Plugins", "plugins" }, // should be ${ArchData}/plugins { "Plugins", "plugins" }, // should be ${ArchData}/plugins
{ "Imports", "imports" }, // should be ${ArchData}/imports { "Imports", "imports" }, // should be ${ArchData}/imports

View File

@ -40,9 +40,14 @@
****************************************************************************/ ****************************************************************************/
#if defined(__OPTIMIZE__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) \ #if defined(__OPTIMIZE__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) \
&& (__GNUC__ * 100 + __GNUC_MINOR__ >= 404) && (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ >= 440)
// GCC 4.4 supports #pragma GCC optimize and #pragma GCC target // GCC 4.4 supports #pragma GCC optimize and #pragma GCC target
# if (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ < 473)
// From GCC 4.7.3 onwards, GCC optimize can result in gcc bailing out with OOM
# pragma GCC optimize "O3" # pragma GCC optimize "O3"
# endif
# if defined(__i386__) && defined(__SSE2__) && !defined(__SSE2_MATH__) # if defined(__i386__) && defined(__SSE2__) && !defined(__SSE2_MATH__)
# pragma GCC target "fpmath=sse" # pragma GCC target "fpmath=sse"
# endif # endif

View File

@ -172,7 +172,7 @@ QWindowsUser32DLL::QWindowsUser32DLL() :
updateLayeredWindowIndirect(0), updateLayeredWindowIndirect(0),
isHungAppWindow(0), isHungAppWindow(0),
registerTouchWindow(0), unregisterTouchWindow(0), registerTouchWindow(0), unregisterTouchWindow(0),
getTouchInputInfo(0), closeTouchInputHandle(0) getTouchInputInfo(0), closeTouchInputHandle(0), setProcessDPIAware(0)
{ {
} }
@ -187,6 +187,7 @@ void QWindowsUser32DLL::init()
updateLayeredWindowIndirect = (UpdateLayeredWindowIndirect)(library.resolve("UpdateLayeredWindowIndirect")); updateLayeredWindowIndirect = (UpdateLayeredWindowIndirect)(library.resolve("UpdateLayeredWindowIndirect"));
isHungAppWindow = (IsHungAppWindow)library.resolve("IsHungAppWindow"); isHungAppWindow = (IsHungAppWindow)library.resolve("IsHungAppWindow");
setProcessDPIAware = (SetProcessDPIAware)library.resolve("SetProcessDPIAware");
} }
bool QWindowsUser32DLL::initTouch() bool QWindowsUser32DLL::initTouch()
@ -252,7 +253,7 @@ struct QWindowsContextPrivate {
QSet<QString> m_registeredWindowClassNames; QSet<QString> m_registeredWindowClassNames;
HandleBaseWindowHash m_windows; HandleBaseWindowHash m_windows;
HDC m_displayContext; HDC m_displayContext;
const int m_defaultDPI; int m_defaultDPI;
QWindowsKeyMapper m_keyMapper; QWindowsKeyMapper m_keyMapper;
QWindowsMouseHandler m_mouseHandler; QWindowsMouseHandler m_mouseHandler;
QWindowsMimeConverter m_mimeConverter; QWindowsMimeConverter m_mimeConverter;
@ -266,8 +267,6 @@ struct QWindowsContextPrivate {
QWindowsContextPrivate::QWindowsContextPrivate() : QWindowsContextPrivate::QWindowsContextPrivate() :
m_systemInfo(0), m_systemInfo(0),
m_displayContext(GetDC(0)),
m_defaultDPI(GetDeviceCaps(m_displayContext,LOGPIXELSY)),
m_oleInitializeResult(OleInitialize(NULL)), m_oleInitializeResult(OleInitialize(NULL)),
m_eventType(QByteArrayLiteral("windows_generic_MSG")), m_eventType(QByteArrayLiteral("windows_generic_MSG")),
m_lastActiveWindow(0), m_asyncExpose(0) m_lastActiveWindow(0), m_asyncExpose(0)
@ -276,6 +275,11 @@ QWindowsContextPrivate::QWindowsContextPrivate() :
QWindowsContext::user32dll.init(); QWindowsContext::user32dll.init();
QWindowsContext::shell32dll.init(); QWindowsContext::shell32dll.init();
#endif #endif
// Ensure metrics functions report correct data, QTBUG-30063.
if (QWindowsContext::user32dll.setProcessDPIAware)
QWindowsContext::user32dll.setProcessDPIAware();
m_displayContext = GetDC(0);
m_defaultDPI = GetDeviceCaps(m_displayContext, LOGPIXELSY);
const QSysInfo::WinVersion ver = QSysInfo::windowsVersion(); const QSysInfo::WinVersion ver = QSysInfo::windowsVersion();
#ifndef Q_OS_WINCE #ifndef Q_OS_WINCE

View File

@ -80,6 +80,7 @@ struct QWindowsUser32DLL
const BLENDFUNCTION *, DWORD); const BLENDFUNCTION *, DWORD);
typedef BOOL (WINAPI *UpdateLayeredWindowIndirect)(HWND, const UPDATELAYEREDWINDOWINFO *); typedef BOOL (WINAPI *UpdateLayeredWindowIndirect)(HWND, const UPDATELAYEREDWINDOWINFO *);
typedef BOOL (WINAPI *IsHungAppWindow)(HWND); typedef BOOL (WINAPI *IsHungAppWindow)(HWND);
typedef BOOL (WINAPI *SetProcessDPIAware)();
// Functions missing in Q_CC_GNU stub libraries. // Functions missing in Q_CC_GNU stub libraries.
SetLayeredWindowAttributes setLayeredWindowAttributes; SetLayeredWindowAttributes setLayeredWindowAttributes;
@ -94,6 +95,9 @@ struct QWindowsUser32DLL
UnregisterTouchWindow unregisterTouchWindow; UnregisterTouchWindow unregisterTouchWindow;
GetTouchInputInfo getTouchInputInfo; GetTouchInputInfo getTouchInputInfo;
CloseTouchInputHandle closeTouchInputHandle; CloseTouchInputHandle closeTouchInputHandle;
// Windows Vista onwards
SetProcessDPIAware setProcessDPIAware;
}; };
struct QWindowsShell32DLL struct QWindowsShell32DLL

View File

@ -27,7 +27,7 @@
/*! /*!
\module QtPrintSupport \module QtPrintSupport
\title Qt Print Support Module \title Qt Print Support C++ Classes
\brief The Qt PrintSupport module provides classes to make printing easier and portable. \brief The Qt PrintSupport module provides classes to make printing easier and portable.
\ingroup modules \ingroup modules
@ -43,4 +43,3 @@
\snippet code/doc_src_qtprintsupport.pro 0 \snippet code/doc_src_qtprintsupport.pro 0
*/ */

View File

@ -20,7 +20,7 @@ tagfile = ../html/qdoc.tags
qhp.projects = QDoc qhp.projects = QDoc
qhp.QDoc.file = qdoc.qhp qhp.QDoc.file = qdoc.qhp
qhp.QDoc.namespace = qdoc.$QT_VERSION_TAG qhp.QDoc.namespace = org.qt-project.qdoc.$QT_VERSION_TAG
qhp.QDoc.virtualFolder = qdoc qhp.QDoc.virtualFolder = qdoc
qhp.QDoc.indexTitle = QDoc Manual qhp.QDoc.indexTitle = QDoc Manual
qhp.QDoc.indexRoot = qhp.QDoc.indexRoot =

View File

@ -313,7 +313,7 @@ QT_CLASS_LIB(QDeclarativePropertyValueInterceptor, QtDeclarative, qdeclarativepr
QT_CLASS_LIB(QDeclarativePropertyValueSource, QtDeclarative, qdeclarativepropertyvaluesource.h) QT_CLASS_LIB(QDeclarativePropertyValueSource, QtDeclarative, qdeclarativepropertyvaluesource.h)
QT_CLASS_LIB(QDeclarativeScriptString, QtDeclarative, qdeclarativescriptstring.h) QT_CLASS_LIB(QDeclarativeScriptString, QtDeclarative, qdeclarativescriptstring.h)
QT_CLASS_LIB(QDeclarativePropertyMap, QtDeclarative, qdeclarativepropertymap.h) QT_CLASS_LIB(QDeclarativePropertyMap, QtDeclarative, qdeclarativepropertymap.h)
QT_CLASS_LIB(QDeclarativeView, QtQuick1, qdeclarativeview.h) QT_CLASS_LIB(QDeclarativeView, QtDeclarative, qdeclarativeview.h)
QT_CLASS_LIB(QMacGLCompatTypes, QtOpenGL, qgl.h) QT_CLASS_LIB(QMacGLCompatTypes, QtOpenGL, qgl.h)
QT_CLASS_LIB(QMacGLCompatTypes, QtOpenGL, qgl.h) QT_CLASS_LIB(QMacGLCompatTypes, QtOpenGL, qgl.h)
QT_CLASS_LIB(QMacCompatGLint, QtOpenGL, qgl.h) QT_CLASS_LIB(QMacCompatGLint, QtOpenGL, qgl.h)

View File

@ -1673,7 +1673,7 @@ bool Configure::displayHelp()
desc( "-libdir <dir>", "Libraries will be installed to <dir>\n(default PREFIX/lib)"); desc( "-libdir <dir>", "Libraries will be installed to <dir>\n(default PREFIX/lib)");
desc( "-headerdir <dir>", "Headers will be installed to <dir>\n(default PREFIX/include)"); desc( "-headerdir <dir>", "Headers will be installed to <dir>\n(default PREFIX/include)");
desc( "-archdatadir <dir>", "Architecture-dependent data used by Qt will be installed to <dir>\n(default PREFIX)"); desc( "-archdatadir <dir>", "Architecture-dependent data used by Qt will be installed to <dir>\n(default PREFIX)");
desc( "-libexecdir <dir>", "Program executables will be installed to <dir>\n(default ARCHDATADIR/lib)"); desc( "-libexecdir <dir>", "Program executables will be installed to <dir>\n(default ARCHDATADIR/bin)");
desc( "-plugindir <dir>", "Plugins will be installed to <dir>\n(default ARCHDATADIR/plugins)"); desc( "-plugindir <dir>", "Plugins will be installed to <dir>\n(default ARCHDATADIR/plugins)");
desc( "-importdir <dir>", "Imports for QML1 will be installed to <dir>\n(default ARCHDATADIR/imports)"); desc( "-importdir <dir>", "Imports for QML1 will be installed to <dir>\n(default ARCHDATADIR/imports)");
desc( "-qmldir <dir>", "Imports for QML2 will be installed to <dir>\n(default ARCHDATADIR/qml)"); desc( "-qmldir <dir>", "Imports for QML2 will be installed to <dir>\n(default ARCHDATADIR/qml)");
@ -3685,7 +3685,7 @@ void Configure::generateQConfigCpp()
dictionary["QT_INSTALL_ARCHDATA"] = qipempty ? "" : dictionary["QT_INSTALL_PREFIX"]; dictionary["QT_INSTALL_ARCHDATA"] = qipempty ? "" : dictionary["QT_INSTALL_PREFIX"];
if (!dictionary["QT_INSTALL_LIBEXECS"].size()) { if (!dictionary["QT_INSTALL_LIBEXECS"].size()) {
if (dictionary["QT_INSTALL_ARCHDATA"] == dictionary["QT_INSTALL_PREFIX"]) if (dictionary["QT_INSTALL_ARCHDATA"] == dictionary["QT_INSTALL_PREFIX"])
dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/lib"; dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/bin";
else else
dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/libexec"; dictionary["QT_INSTALL_LIBEXECS"] = qipempty ? "" : dictionary["QT_INSTALL_ARCHDATA"] + "/libexec";
} }