Konstantin Tokarev [Sun, 23 Sep 2012 14:02:55 +0000 (18:02 +0400)]
Fixed ifdef condition in QJson resulting in big endian breakage.
Change-Id: I3d36d75ff95ad2fe2fcbbe262f9782f0709d7041
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Andy Shaw [Sun, 10 Jun 2012 20:59:24 +0000 (22:59 +0200)]
Add a manual test for QMacCocoaViewContainer
Added a test for QMacCocoaViewContainer which will enable the testing
of the fixes coming
Change-Id: I73e9540bc58411634f0da7d398eca4b7ffafba8e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Caroline Chao [Mon, 24 Sep 2012 06:56:56 +0000 (08:56 +0200)]
Test: Enabled tst_QFile::invalidFile
The test is not hanging on Windows anymore.
On Windows, add an expected failure for the failing case.
Task-number: QTBUG-22801
Task-number: QTBUG-27306
Change-Id: Iede95766504f3e8a278a4554a5967ca333aae3bf
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Samuel Rødal [Mon, 24 Sep 2012 14:23:03 +0000 (16:23 +0200)]
Fixed instances of "to to" in qtbase.
Really it should just be "to".
Change-Id: I7d0fff334bac3f0ac78adb8131e3bf3df1f1b242
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thiago Macieira [Mon, 24 Sep 2012 15:51:15 +0000 (17:51 +0200)]
Add some tests for compatible and incompatible custom deleters
Change-Id: I2bb7f597aab0f00a250881602e6a6bb7bfe42e18
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Thiago Macieira [Sun, 23 Sep 2012 08:46:05 +0000 (10:46 +0200)]
Move the fetch and store pixel functions to qdrawhelper.cpp
These functions have begun showing in the tst_symbols unit test as
"symbol does not start with q". Since they're never called directly,
they're never inlined. Since they were inline, the compiler was probably
deciding to not export them.
Something changed and it could be anything (new compiler version, new
options, etc.). So mark them static.
Change-Id: I838dfc94edd7f09c202743bff0daf9d20c10c3a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Thiago Macieira [Fri, 14 Sep 2012 14:04:59 +0000 (16:04 +0200)]
Introduce an option to disable stripping during installation
The default is the current behaviour: strip on installing release, no
strip on installing debug. This option does not change the
installation of debug builds because qmake does not support that.
Change-Id: Ic208d5ffe860d5f1ee1cafdc944e12001673d33f
Reviewed-by: Davide Pesavento <davidepesa@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Thiago Macieira [Tue, 11 Sep 2012 13:53:17 +0000 (15:53 +0200)]
Centralise handling & ignoring of SIGPIPE in qcore_unix_p.h
We had two instances of this function in the Qt source code, one clearly
a copy of the other, so both had the same thread-safety issue. Instead,
let's have one copy and have both write_nosignal() and sendto() call
them.
Q_NO_POSIX_SIGNALS is also gone. It was only used with Symbian.
Change-Id: I0f1354a8e9df8e6b10a02f86a940e3c6d1222087
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Mark Brand [Mon, 24 Sep 2012 13:12:32 +0000 (15:12 +0200)]
fix build failure for MinGW using "system" freetype
The configure script correctly detects freetype and sets
"system-freetype" in QT_CONFIG. However, the project file did not
consider this possibility.
Change-Id: I9ce90e7cd032a12ed7d06d3858b16c5a8d90c073
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Andreas Holzammer [Fri, 21 Sep 2012 06:33:57 +0000 (08:33 +0200)]
Try to auto-detect the font rendering for WinCE
Native font rendering is broken for QML applications, use free type
rendering for those scenarios. Use native rendering for all other
applications.
Use a workaround to find out if we are running a QML application on the
target.
Related to QTBUG-24205.
Change-Id: I653ea579098db1e58af8176cb2c3f943be0b9602
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Marc Mutz [Fri, 24 Feb 2012 16:41:31 +0000 (17:41 +0100)]
QModelIndex: add constexpr
The functions dealing with the void* internalPointer() can't be
constexpr on GCC 4.6 and Clang 3.2-trunk, even though GCC 4.8-trunk
accepts it, because of the casts required.
Change-Id: Id04105312da3d0c7632f7df06a34bc5a71120b32
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Marc Mutz [Mon, 24 Sep 2012 13:21:19 +0000 (15:21 +0200)]
QModelIndex: store quintptr instead of void*
Rationale:
1. Comparing pointers that don't point the same array is undefined behaviour, IIRC,
and op== and op< did that.
2. The functions that cast to/from the storage type can't be constexpr. It makes
more sense to have the quintptr functions be constexpr (they have a fighting
chance to actually get passed something constant) than it is to have the void*
functions constexpr. Thus, the storage type should be quintptr.
Also prepare op< to be constexpr-compatible.
Change-Id: I4b2d4a0ec8ca80d619d272bf07c57887cbd11c2f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Jan Arve Saether [Mon, 24 Sep 2012 10:01:53 +0000 (12:01 +0200)]
When trying to run cmake, don't show stderr output.
It looks like the qmake process failed if cmake is not installed.
Change-Id: I721796a602d8c572144e9d21be5d62b737698b73
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Miikka Heikkinen [Thu, 20 Sep 2012 09:28:58 +0000 (12:28 +0300)]
Fix hover handling in QTreeView
Cached hoverBranch could get invalid if branches were collapsed or
expanded programmatically, leading to a crash in some situations.
Fixed the logic for updating hovered over branch indicators and
also now update hoverBranch when drawing so that it is guaranteed to be
up to date there - this fixes issues like hover indicator not updating
when the view is programmatically scrolled.
Task-number: QTBUG-27158
Change-Id: I5bd1ad76aee512ad78df33959a84ead16886a47c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Wed, 19 Sep 2012 12:59:25 +0000 (14:59 +0200)]
Implement viewOptions() logic in QListViewPrivate.
The private method is called in several places in QListViewPrivate,
but before this patch, the implementation in QAbstractItemView was
called. This meant that the options were not set properly,
resulting, for example, in icons in icon mode being laid out in
list mode (on the left and small).
This is a regression resulting from
8eab9cbce2014ffc6186dd6b6fb73da85956ee86 and
3578e05b293c1cc53582109001b20f02c7a1eeb7. Other views are not
affected in a similar way.
Change-Id: I753cb99410e367266753eaf2fa43361b9212ab96
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Fri, 21 Sep 2012 14:05:46 +0000 (16:05 +0200)]
Specify the --build-config when invoking ctest.
Otherwise we get strange build errors by attempting to build an
project in debug mode against a release-mode Qt:
http://testresults.qt-project.org/ci/QtBase_master_Integration/build_03955/win32-msvc2010_Windows_7/log.txt.gz
(grep for MSVCRTD)
The CMAKE_BUILD_TYPE variable is always specified by the ctest_testcase
driver as either Debug or Release.
Change-Id: Ia5af7f0c31550b92679a3190e07b4e5c4ea638c6
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Fri, 21 Sep 2012 13:11:54 +0000 (15:11 +0200)]
Pass the unmodified directory/project name to build-project.
The result of replacements for special characters should not be
used here. CTest needs the replacements for the test names, but
requires the argument to the project() command to match the
argument to ctest --build-project.
Task-number: QTBUG-27087
Change-Id: I4ff7a7e00ddb65ab0c0f2305901e1d03f46e07d1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Stephen Kelly [Fri, 21 Sep 2012 13:02:44 +0000 (15:02 +0200)]
Don't append _build to the directory name of tests expected to fail.
The name passed to the project() command must be the same as the argument
to ctest --build-project.
Initially I had appended _build to disambiguate the generated project
from the project under test, but that is not needed anyway as the
project under test is self-contained, so it's ok.
Task-number: QTBUG-27087
Change-Id: I648d57271529d4e8d308ff60b81419ade29b2e44
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jing Bai [Mon, 3 Sep 2012 08:50:13 +0000 (10:50 +0200)]
wrap QLibrary related code with QT_NO_LIBRARY
To fix a compile error when QT_NO_LIBRARY is defined.
Change-Id: Ie72b60b8204641fa05f4cdbf66e908cb3526217e
Reviewed-by: Jing Bai <jing.bai@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Sean Harmer [Mon, 24 Sep 2012 08:41:17 +0000 (09:41 +0100)]
OpenGL: Remove API for stubbed Geometry shader support in gui/opengl
There is a pending patch to reinstate this for Qt 5.1 (the patch
introduces new API top QOpenGLContext). I will fold the revert of this
patch into:
https://codereview.qt-project.org/#change,31231
Note that QGLShaderProgram still supports Geometry shaders so source
compatibility with Qt 4.8 is maintained.
Change-Id: I53faedd4e4a2a6c2a9765afdc1bee6df5ae2f711
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Jędrzej Nowacki [Wed, 19 Sep 2012 13:40:41 +0000 (15:40 +0200)]
Fix potential breakage in QString.
Negation operator ("!") have precedence over bitwise and ("&").
Change-Id: I39e2d99da6eaa4477bbe35a1259f745e05c9841a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Sergio Ahumada [Sun, 23 Sep 2012 14:07:57 +0000 (16:07 +0200)]
Update "About Qt" dialog from Nokia to Digia
Task-number: QTBUG-25205
Change-Id: I9294f8e36523f242b3d05d521f6a24274ba1b0a0
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Shawn Rutledge [Wed, 19 Sep 2012 09:55:44 +0000 (11:55 +0200)]
xcb: dynamic QScreens; primary first; corrected logical DPI
A new QScreen is created when an output is activated (monitor or
projector is added, for example), and destroyed when the output is
turned off. Ensures that screens and siblings are always in
the right order: primary comes first.
Logical DPI is derived from virtual geom / virtual size,
which will be different than output geom / physical size
if X was started with --dpi override. This is a good thing:
when X gets wrong EDID info for physical size and you need to
override it to get reasonable font sizes, Qt will heed the
logical DPI for font sizing.
Change-Id: I5e3de34013c1b6b21067243de56f3f1eb72787fa
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [tools]
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: Ia087beb886bbaec1a0976cd924440d8904044879
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [QtCore]
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: I81c378ef6aeeada5e116f1394cc9fc67f901ffd6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [examples]
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: I1d0c9782cc1522d937b930531720e32d4c8f7ce8
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Thu, 20 Sep 2012 14:36:51 +0000 (16:36 +0200)]
QTestLib: clean up qCompare specialisation/overload mix
qCompare() was both overloaded and specialised, but always as a template.
This lead to the QIcon specialisation actually invoking
qCompare(QFlags<void*>, ...)
when specifically asking for qCompare<void*>() (detected by adding
underlying-type detection to QFlags).
Fix by preferring overloading and not specialising anything.
Change-Id: Ie001ebb9dfb0847c6c33a3f45177a61579fd61ee
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Sergio Ahumada [Fri, 21 Sep 2012 10:31:38 +0000 (12:31 +0200)]
configure: Update contact information for commercial users
Task-number: QTBUG-23949
Change-Id: Iaca7f45eae39ab7f6368431daead93358b17fe36
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Sinan Tanilkan <sinan.tanilkan@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Sergio Ahumada [Mon, 10 Sep 2012 10:12:36 +0000 (12:12 +0200)]
test: Remove QSKIP from tst_QFocusEvent::checkReason_ActiveWindow()
This test actually passes using the "xcb" platform and fails otherwise.
Second, the Jira task is misleading since it refers to
tst_QFocusEvent::checkReason_Shortcut()
Change-Id: Icab91ace8c214d958b534c5cebae900242522372
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Friedemann Kleint [Thu, 6 Sep 2012 11:51:02 +0000 (13:51 +0200)]
Redirect keyboard/mouse grab to the widget parent window.
Use the native parent's window if the widget in question does not
have one. This should be in line with Qt 4.8 using effectiveWinId().
Remove redundant code in grabMouse(QCursor).
Change-Id: Id6ab192e739221fe89f865f4d2f7a6d4671a190b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Wed, 19 Sep 2012 15:18:38 +0000 (17:18 +0200)]
QStringList: adapt documentation to cover new join(QChar) overload
Change-Id: Ia73501e1e8a562cfab750d1796fb597cd89eab74
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Tue, 7 Aug 2012 17:36:01 +0000 (19:36 +0200)]
QFileInfoGatherer: remove useless locks
The m_iconProvider and m_resolveSymlinks members are only ever
accessed from getInfo(), which is not called from run(). So the
mutex-lockers aren't needed in the setters.
Change-Id: I3257c95366528c5c66352d20a09e8a43b811f3ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Fri, 24 Feb 2012 15:32:53 +0000 (16:32 +0100)]
QModelIndex: clean up integer size confusion in the API
QAIM::createIndex() took either int or quint32, but QMI::internalId()
returned qint64.
In the new interface, createIndex() takes, and internalId() provides,
integers of type quintptr.
This matches the storage size of the void* in the model index and
avoids truncation.
Remove the
createIndex(int, int, quint32) and
\obsolete createIndex(int,int,int)
overloads.
This makes a literal 0 in the third parameter ambiguous now.
The solutions have been noted in changes-5.0.0.
Change-Id: I0a0ecd8430eaf695129a4d09d14d4e30745485c4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Iikka Eklund [Wed, 19 Sep 2012 12:28:29 +0000 (15:28 +0300)]
Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia
Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Marc Mutz [Thu, 20 Sep 2012 14:21:30 +0000 (16:21 +0200)]
QFlags: don't provide a constructor from void**
Use a pointer-to-member instead of void** for Zero, the type that is
used to accept only a literal 0, but not other ints, as QFlags ctor
arguments.
This was developed while trying to find the cause for a build failure
in the qCompare<QIcon> specialisation after adding underlying-enum
detection to QFlags, and it didn't help, but I think it's a saver
alternative to void**, in particular since the ctor in question is
implicit.
Change-Id: I71c67b0b50e9404e4e42836d09d62663296f58af
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Marc Mutz [Fri, 24 Aug 2012 07:47:55 +0000 (09:47 +0200)]
QDBusMetaTypeId: replace a volatile bool with an atomic int
Since there is no non-atomic data that is protected by 'initialized'
anymore, the read from, and the store to, 'initialized' may now have
relaxed memory ordering.
Change-Id: I58004e782d9fd93122efb31fa5b30ee160646d99
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 24 Aug 2012 10:06:03 +0000 (12:06 +0200)]
QDBusMetaTypeId: don't cache the result of qMetaTypeId<>() in static ints
There's not much point in caching the result of qMetaTypeId<>,
because it's already internally memoised.
In addition, the code that initialised the static int caches wasn't
protected against concurrent access under the assumption that the
operations performed were thread-safe.
That is true for most of them, but not for the stores to the static ints,
which race against each other:
// Thread A // Thread B
r1 = initialized /*=false*/
r1 = initialized /*=false*/
r2 = qMetaTypeId<...>();
r2 = qMetaTypeId<...>();
message = r2; message = r2; // race, ditto for all other ints
To fix, turn the ints into inline functions that just call the respective
qMetaTypeId<>() function.
Change-Id: I5aa80c624872c3867232abc26ffdcde70cd54022
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
José Millán Soto [Tue, 11 Sep 2012 11:22:35 +0000 (13:22 +0200)]
Correct QSpiAccessibleBridge::setRootObject definition
QSpiAccessibleBridge::setRootObject was defined to require a
QAccessibleInterface* as parameter instead of QObject*, as a result of
that, QSpiAccessibleBridge::setRootObject did not reimplement
QPlatformAccessibility::setRootObject and the adaptor was not initialized.
After this change, applications should work with screen readers.
Change-Id: Iee3d39f8e0959c1d75b1e682847d266a723c141b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Mark Brand [Sat, 22 Sep 2012 08:30:17 +0000 (10:30 +0200)]
configure: remove CONFIG features while getting PKG_CONFIG
When qmake is used to get PKG_CONFIG, core and gui are not
available. This motivates CONFIG-=qt. In fact, we don't need any
features for this job.
Change-Id: Id247054d43c50f6aeb62db7585c3e90f57aa36a1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
J-P Nurmi [Thu, 20 Sep 2012 15:09:49 +0000 (17:09 +0200)]
QGtkStyle: remove an unnecessary sanity check for theme name
QGtkStyle was unable to detect the current GTK+ theme.
Change-Id: Ifd816e044bb8294f4ee2e3598ff53eb7cbce6064
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Konstantin Ritt [Sun, 26 Aug 2012 01:09:09 +0000 (04:09 +0300)]
A step out from Harfbuzz (reduce dependency)
Introduce QCharAttributes and use it instead of HB_CharAttributes everywhere in Qt
(in Harfbuzz, the HB_CharAttributes is only used in the text segmentation algorithm
which has been moved from HB to Qt (well, most of it)).
Rename some members to better reflect their meaning,
remember to keep HB_CharAttributes in sync with QCharAttributes.
Also replace HB_ScriptItem with a (temporary) QUnicodeTools::ScriptItem struct
that will be replaced with a more efficient/friendly solution a bit later.
The soft hyphen and the mandatory break detection has been factored out
of the default text breaking algorithm to a higher level in order to refactor
the QCharAttributes bitfields and to optimize the implementation for the common case.
Change-Id: Ieb365623ae954430f1c8b2dfcd65c82973143eec
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Konstantin Ritt [Wed, 19 Sep 2012 15:07:28 +0000 (18:07 +0300)]
Fix build under MinGW after
1e3269c0863bfac26be9e9239b6427ea77c6175b
Change-Id: I3c8c28ba1016af6351afa5118893133d373cb4e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Caroline Chao [Thu, 20 Sep 2012 13:46:44 +0000 (15:46 +0200)]
Test: Update QSKIP message of tst_QVector::outOfMemory
This test is crashing. Specify the bug report number in the QSKIP
message.
Task-number: QTBUG-22343
Task-number: QTBUG-27285
Change-Id: I4d4ead4f54944a545103a3d01c5c9d302d7fb1df
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Caroline Chao [Fri, 21 Sep 2012 13:59:21 +0000 (15:59 +0200)]
Test: fix warning for tst_QPluginLoader::loadGarbage
Garbage libs (under elftest) are numbered from 1 to 5 and not from 0 to 4.
Change-Id: Ia0162372bf5cd1fb53a0442543c5a65716880611
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Samuel Rødal [Fri, 21 Sep 2012 10:12:01 +0000 (12:12 +0200)]
Fixed multiple modal windows from all blocking each other.
A modal window in front in the modal window list should never be blocked
by a modal window further back in the list. This was taken care of in
QGuiApplicationPrivate::isWindowBlocked(), we just need to make sure it
gets called when a new modal window gets shown so that its blocked
status is up to date.
Task-number: QTBUG-27206
Change-Id: I590f1715e66067edb178081352636f34fe54a885
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Shawn Rutledge [Wed, 5 Sep 2012 12:22:31 +0000 (14:22 +0200)]
Added manual test for QScreen properties
Shows property values in fields which auto-update when the properties
change.
Change-Id: Ib97566a74cb8d0fff5f85bf97783e89dfb07481f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Sean Harmer [Thu, 20 Sep 2012 14:53:22 +0000 (15:53 +0100)]
OpenGL: Add runtime check for OS X version and improve logic
Apple recommend adding NSOpenGLProfileVersion3_2Core when asking for
a 3.2 Core profile context and NSOpenGLProfileVersionLegacy in all other
cases.
Also added a missing runtime check for OS X 10.7 or newer. Fixes a
potential crash if Qt was built on 10.7/8 but executed on 10.6.
Change-Id: I4c09d2dbbe8df25a3553cc01b468dabab0f8eaa4
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Frederik Gladhorn [Thu, 20 Sep 2012 14:57:49 +0000 (16:57 +0200)]
Documentation fixes.
Change-Id: I2e234ec4307bbe39359cdfa8b13e86661dad43b6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Frederik Gladhorn [Thu, 20 Sep 2012 14:23:13 +0000 (16:23 +0200)]
Fix network doc links.
Change-Id: I319644da80d91c5cf6d247410f022fbfd062a1f3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Frederik Gladhorn [Thu, 20 Sep 2012 11:03:15 +0000 (13:03 +0200)]
Fix doc errors.
Change-Id: I9974d870c081620217582fcb6f8b146d208a471c
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Frederik Gladhorn [Wed, 19 Sep 2012 07:15:38 +0000 (09:15 +0200)]
Move examples to proper location.
Change-Id: Ib808f5d99cb8217f8786411b531fa5bc7fa5250a
Reviewed-by: Martin Smith <martin.smith@digia.com>
Frederik Gladhorn [Tue, 18 Sep 2012 18:32:53 +0000 (20:32 +0200)]
Move opengl/wid/net example docs to proper folders.
Change-Id: I846439a9cf7ad965ed27a00f98dbc4ff97abe73b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Mitch Curtis [Thu, 6 Sep 2012 14:58:56 +0000 (16:58 +0200)]
Clarify valueChanged() signals' docs in QSpinBox and QDoubleSpinBox.
Explicitly mention that two signals are emitted and that the QString
overload does include prefix() and suffix().
Task-number: QTBUG-26190
Change-Id: I90435779dcb2e4aa494c4b1b6e73e7f69d7998a4
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Mitch Curtis [Fri, 7 Sep 2012 13:45:39 +0000 (15:45 +0200)]
Document that date/time formats without separators are unsupported.
The code is not handling formats like "HHmm ss" correctly, so it needs
to be documented until such support is provided.
Task-number: QTBUG-26067 QTBUG-26596
Change-Id: Ia456d8020e3e0aa9422e6e6987ac984f308facf9
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jens Bache-Wiig [Wed, 19 Sep 2012 15:45:25 +0000 (17:45 +0200)]
Fix regression in QAbstractScrollArea
The style hint SH_ScrollView_FrameOnlyAroundContents was currently
being ignored by QAbstractScrollArea. This looks like an accidental
regression following
10c6f015f45092040c281bb90a65179f598a00b1.
This code path does not execute on mac so it should have no impact
on that patch.
Change-Id: I78ca0a6b87dfdd7d426acbb3ef49480390211af2
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Olivier Goffart [Tue, 28 Aug 2012 13:47:35 +0000 (15:47 +0200)]
Add comments to document the internals of QMutex
Change-Id: Ieb5632017e5e8e09a11dc6b929efa19b4f350086
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [qmake]
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Marc Mutz [Wed, 19 Sep 2012 15:50:42 +0000 (17:50 +0200)]
qmake: add ProStringList::join(QChar)
Same reasoning as for
68e04c3ac148bcbe71f2deeb7288563f6cdbcab5 applies.
Adding the overload was easier than to teach a Perl script to distinguish
between QStringList and ProStringList instances...
Change-Id: I6de6ecf21fdad135ac213b5c794927a9bc120a92
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:34:50 +0000 (12:34 +0200)]
announce the android platform in the respective specs
Change-Id: I55c8d9fe4160c37eec6073894481e313e4dea191
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:17:53 +0000 (12:17 +0200)]
add missing maemo platform announcement to n9 spec
Change-Id: I24855dc3fdfcc19a81f7e030c9dfbbdddd2bb552
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:10:59 +0000 (12:10 +0200)]
claim that mingw is a platform
it's mostly win32+gcc, but sometimes there are library differences, so it
makes sense to have an own platform flag for it.
Change-Id: I985f0dd39a47bfc16f10f4b4a9c168874ae2f20d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 20:17:33 +0000 (22:17 +0200)]
make qmakespecs announce the compiler family
on the way to eliminate scoping based on the spec.
gcc and msvc go as such into CONFIG, the other ones get the vendor
prefixed, as most are mostly unknown and thus likely to clash with
users' flags.
Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:28:05 +0000 (17:28 +0200)]
don't skip the configure.exe build even when it already exists
the build steps are now fast enough to make no-op rebuilds no problem.
Change-Id: I1018735bf50f3e7a66e22637237f26f98a3baf1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:26:52 +0000 (17:26 +0200)]
don't skip the syncqt call even when include/ exists
the syncqt run is now fast enough
Change-Id: Ie95a617fe99791ed38d02fe41578a0136fb68ddc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 18:47:17 +0000 (20:47 +0200)]
don't set MODULE_BASE_OUTDIR unconditionally
webkit actually tries to set it, and after the syncqt invocation changes
we were breaking it.
Change-Id: I1ec740b7e96c972ca173f384529dde1fc7e7cc13
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Stephen Kelly [Wed, 19 Sep 2012 12:06:11 +0000 (14:06 +0200)]
Replace QStyleOptionViewItemV? with QStyleOptionViewItem
The former are a typedef for the latter in Qt 5. This only touches
internal implementation, as the API was migrated long ago.
Change-Id: Ided73021ebecc00508e6325c3d988b6c6ad336cd
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 16:19:29 +0000 (18:19 +0200)]
move syncqt call to qt_module_headers.prf
for one, the syncqt invocation is qt module magic and thus simply does
not belong into the generic default_pre file.
second, this way the forwarding header generation is now linked to the
rest of the build magic for a particular module, which is way less
confusing for the unsuspecting developer.
Change-Id: Idc8e420d3faf173d7fff4a41e6e1c59af15c3023
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Oswald Buddenhagen [Wed, 19 Sep 2012 19:56:16 +0000 (21:56 +0200)]
make error() abort the qmake run, not just the current file
Change-Id: I82fc55680f9ffb227e25acb39c797596225ba89e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Samuel Rødal [Thu, 20 Sep 2012 14:01:03 +0000 (16:01 +0200)]
Fixed outline / fill inconsistencies in raster paint engine.
We did coordinate rounding of the fill in the raster paint engine to
match how drawLine_midpoint_i rendered lines. With the new cosmetic
stroker in 4.8 this rounding is not needed anymore.
Task-number: QTBUG-26013
Change-Id: Ibe86fa809276c8e7988d393a67e772d57b9a4799
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Samuel Rødal [Thu, 20 Sep 2012 13:30:24 +0000 (15:30 +0200)]
Fixed inconsistent rounding of square cap pens.
A horizontal line should round up at the same time as a vertical line
with square cap, when rendering at subpixel coordinates. Thus, the
special casing in the cosmetic stroker of offsetting by half a pixel
should be for flat caps instead of for square caps.
Task-number: QTBUG-26013
Change-Id: Ic09249337f814c7de95a17976ec9e651561a744b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Laszlo Agocs [Wed, 5 Sep 2012 09:18:15 +0000 (12:18 +0300)]
Do not refer to non-existant member in QSurfaceFormat docs
Sample buffers should be enabled automatically under the hood
when samples is > 0 and therefore the getter and setter are
gone.
Change-Id: I9cd6438e89060f901598a6aacacb99362fac4718
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Laszlo Agocs [Fri, 31 Aug 2012 13:29:11 +0000 (16:29 +0300)]
Cocoa GL context: do not crash when closing windows
Running hellowindow and closing its windows one by one would result
in crashes without the additional checks for the presence of the
underlying native window.
Change-Id: Id32bdfda9a77936380b2e9a95fb56ceb52028d9d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Jan-Arve Saether [Mon, 27 Aug 2012 14:12:00 +0000 (16:12 +0200)]
Doc fix: Fix references to snippets and examples.
Did a recursive search under examples\widgets\doc
search criteria: "\snippet widgets/"
replaced with: "\snippet "
Change-Id: I795580f8d207088df543edd9ef3b7b76c5e30d69
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Andy Shaw [Mon, 27 Aug 2012 12:03:47 +0000 (14:03 +0200)]
Load Mac specific resources when used in a static build
When Qt was built statically then the Mac specific resources were not
being loaded which meant some style specific images were not used.
Task-number: QTBUG-25391
Change-Id: If311148df19a87b6c8104553b662e3bf157f5717
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Sergio Ahumada [Tue, 18 Sep 2012 22:39:16 +0000 (00:39 +0200)]
printsupport: Include own headers first
cpp files should include their own headers first (but below config.h)
Change-Id: I32a2c76a39d03f543c3eb8393b5e3015276f0622
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Sergey Hambardzumyan <sergey.hambardzumyan@digia.com>
Sergio Ahumada [Tue, 18 Sep 2012 22:06:49 +0000 (00:06 +0200)]
dbus: Include own headers first
cpp files should include their own headers first (but below config.h)
Change-Id: I4115604aee3211118e2ecf604067f3559dbb9f4c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Stephen Kelly [Wed, 19 Sep 2012 15:34:12 +0000 (17:34 +0200)]
Remove casting of QStyleOptionViewItems to set data.
The correct values are already set inside setOptions, because the
multiple versions of QStyleOptionViewItem were squashed in Qt 5.
Change-Id: If0faf4b35bbf476e00905905376868814b8b095a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Rafael Roquetto [Wed, 12 Sep 2012 13:53:46 +0000 (15:53 +0200)]
Rotate non maximized windows
There are two types of rotation to be considered:
1. Rotation of native widgets
The corresponding window should be rotated and resized proportionally to the
new screen geometry.
2. Rotation of toplevel windows.
The window will be only rotated. It will be only moved or resized if it
becomes clipped, in order to be fitted on the screen properly.
Change-Id: Ice92427ac07a9bea284e68917ff3e0f436722bc0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 17:24:51 +0000 (19:24 +0200)]
make src/tools/ compile without CamelCase headers
so the build works with syncqt -minimal
Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:24:21 +0000 (17:24 +0200)]
don't require a fake qconfig.h for the configure bootstrap
Change-Id: I3d1224ad19b9e5278e35cf7c5142a29ccb589140
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:20:36 +0000 (17:20 +0200)]
syncqt only the QtCore headers for the bootstrap
Change-Id: I26e19805823bfe987c721f6a274803e54f0e4003
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:19:31 +0000 (17:19 +0200)]
move the module validation below the loading of sync.profile
otherwise the -module option will always die.
Change-Id: I023ea5681a03a2848e1084eedbbcc66f8d060b69
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 10:20:03 +0000 (12:20 +0200)]
simplify forwarding include() statement in default specs
Change-Id: Ie584491a5f0355ef3f4457d9b4b9734e6e8fdc47
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 07:32:46 +0000 (09:32 +0200)]
resolve only one level of symlinks, and only for the default specs
otherwise we end up in the source tree, which is counterproductive.
Task-number: QTBUG-26869
Change-Id: Id44a94f827dc285c75b9b243c8ef6478e668e3ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 08:54:52 +0000 (10:54 +0200)]
fold m_qmakespecFull back into m_qmakespec
the original value is not used any more after the final resolution.
Change-Id: Icadc219f045a1bbfd20506c4c72c53d1fb352969
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 13:39:49 +0000 (15:39 +0200)]
make 'make check' work with non-installed prefix builds
add the appropriate environment to the command lines
Change-Id: Ic9d3c60255be88f431213acd8c5e0ff55e014f5b
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 13:38:56 +0000 (15:38 +0200)]
factor out qtAddTargetEnv()
Change-Id: Ib0517da54da98de4b1f2ee7d80bee22316231091
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:28:06 +0000 (12:28 +0200)]
remove pointless conditionals+branches
the surrounding TEMPLATE == vc* scope already implies vcproj, as dsp is
not supported any more.
Change-Id: I68363aca62e21135f42572040ccc7b189dcf32c8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:13:55 +0000 (12:13 +0200)]
remove mentions of borland from project files
Change-Id: I3049b24ae287bee50aca1de06664a2309df69edf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 18:45:19 +0000 (20:45 +0200)]
don't make the outputs depend on $$QMAKE_DUMPCPP
the variable can contain a complex command which would make a mess of
the makefile.
also, the tool doesn't change all that often, so it's not particularly
useful to depend on the binary.
Change-Id: I965d6555cb22bd6d5306b324f5cad0d747128e99
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 18:42:44 +0000 (20:42 +0200)]
remove now unnecessary indirections
qmake's new parser can deal with this much more readable code.
Change-Id: I772c9da4c9d049e2b332305f41496ed1196f60eb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Frederik Gladhorn [Wed, 19 Sep 2012 07:06:07 +0000 (09:06 +0200)]
Fix typo in docs.
Change-Id: Icfafa00062b442903579dd7993c75fffb60187f9
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Tilman Sauerbeck [Tue, 21 Aug 2012 17:16:08 +0000 (19:16 +0200)]
Make QStatusBar text available via accessibility.
UNTESTED cause the build fails for me (unrelated to this patch).
Change-Id: Ie6836596b6fbaf93baa21d7008509774f1379f5c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Samuel Rødal [Wed, 19 Sep 2012 15:01:01 +0000 (17:01 +0200)]
Fixed potential use of uninitialized variable in qgl.cpp
If glGetBooleanv fails this variable is left uninitialized.
Task-number: QTBUG-26952
Change-Id: Idb42833f2907bb66fd87c5cdb39753fca04e7438
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thiago Macieira [Sun, 22 Apr 2012 19:35:10 +0000 (21:35 +0200)]
Split the qt_message_output function in two
This way, I can ensure that the noreturn qFatal function calls a
noreturn function as its last action.
Change-Id: I6db7aa2539af430414645f386d7fce87cdb97186
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Marc Mutz [Tue, 7 Aug 2012 17:33:11 +0000 (19:33 +0200)]
QFileInfoGatherer: remove unused members userId/groupId
None of the code references these, so remove.
Change-Id: Ie48d30b49c644f093df9f42c8d087751c4e980ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Tue, 7 Aug 2012 17:17:09 +0000 (19:17 +0200)]
QFileInfoGatherer: fix race conditions pt.1: abort
Fix a race on the 'abort' variable. While there was a mutex lock around
the code that sets the variable in ~QFileInfoGatherer, there was no
protection in getFileInfos(), where it is read:
// T:this->thread() // T:*this
// in getFileInfos(), after last mutex.unlock()
mutex.lock();
abort = true; while (!abort...
// ... // ...
Fix by making 'abort' an atomic. This means that we can drop the mutex
locker in the destructor, too. We still mostly access 'abort' under
protection of the mutex, because we need to protect other variables that
just happen to be accessed together with 'abort', but we avoid the mutex
lock/unlock on each iteration of the while loop in getFileInfos().
Also cleaned up the logic in run():
- by using the canonical form of condition.wait() (in a loop that
checks the condition), we can ensure that !path.isEmpty() and avoid
having to use the updateFiles boolean.
- by checking for abort.load() after we return from
condition.wait(), we minimise the waiting time for thread
exit.
- by using different local names, we avoid having to this->qualify members.
Also changed one condition.wakeOne() to wakeAll() for consistency
with fetchExtendedInformation().
Change-Id: If35f338fe774546616ec287c1c37e2c32ed05f1a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Mitch Curtis [Mon, 17 Sep 2012 15:11:16 +0000 (17:11 +0200)]
Pass correct argument to QShortcutEvent ctor in tst_qabstractbutton.cpp
The QShortcutEvent constructor takes "int shortcutId" as its second
argument, not a bool. Since the default shortcutId is 0, this test
passed, since false == 0.
Change-Id: I43bbae4613f3badb1578dccec76dcdd3c96a3a2f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Thu, 24 May 2012 06:35:39 +0000 (08:35 +0200)]
QVarLengthArray: provide STL-compatible member function names
This allows, among other things, to use QVarLengthArray as the target of
a std::back_insert_iterator.
Change-Id: I507f612a23da854bf865780aa0a7e6312f4a896b
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Sean Harmer [Wed, 19 Sep 2012 13:09:16 +0000 (14:09 +0100)]
OpenGL: Make use of the requested version and profile in QGLWidget
When instatiating a QGLWidget in Qt5 at present it ignores the version
and profile information in the QGLFormat meaning that we always end up
with an OpenGL 2.x profile rather than what we asked for. This commit
properly takes the version and profile into account.
Change-Id: I097f10e397c23f5d97c5fcd8d5354667da286896
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>