Commit Graph

15733 Commits

Author SHA1 Message Date
Lars Knoll
d8bf317546 make qreal double by default on all platforms
On modern ARM CPUs there is no speed difference between
float and double anymore, so let's rather use double for
qreal to avoid rounding and precision issues. Like this
we also get much better compatibility with our desktop
OSes.

This is not binary compatible on ARM, but the old behavior
can be restored by passing -qreal float to configure.

Change-Id: I2a4b61e19a3dfa6b0bd76734cecf2634c97207fc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 22:01:40 +01:00
Lars Knoll
e696bef863 Fix compilation with QT_COORD_TYPE=double on ARM
Add a missing template specialization in the neon
drawhelper.

Task-number: QTBUG-33781
Change-Id: Iec02a93aee9403dc1275c32436db5527585b1088
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-31 22:01:40 +01:00
John Layt
24733dea6c QDateTime - Optimize refreshDateTime()
A small optimization to the private refreshDateTime() function, improves
standard performance tests by 0.3 msecs per iteration for affected
functions, e.g. isValid() and offsetFromUtc() improve from 5.4 to 5.1.

Change-Id: Ie67812649ef244388b484af35848b09d92dee38a
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 22:01:40 +01:00
John Layt
1da1259c28 QDateTime - Optimize date() and time() methods
Optimize the performance of date() and time(), resulting in a one-third
improvement, and subsequent improvements in all date/time based
functions.  Tested over 1000 iterations of the standard benchmarks, in
msecs per iteration:
                     Before  After
date()/time()        0.3     0.2
setDate()/setTime()  0.9     0.8
daysTo()             0.6     0.4

Note original performance before msecs storage was 0.06.

Change-Id: Ie838e560ddf7129281531dc965af56ac19cce91d
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 22:01:40 +01:00
BogDan Vatra
e7db02e79e Remove android specific qmake variables.
Change-Id: Iba2b929ba70588ffcbcc9395501753521cfe5154
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-31 22:01:40 +01:00
Oswald Buddenhagen
43684a20d0 use private linkage where possible
Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:32 +01:00
Oswald Buddenhagen
e469e667e3 use the right scope
"windows" only worked more or less by accident (it's the opposite of
"console" and just happens to be the default on windows).

Change-Id: Ib60c8ae5aea04f28207c05cc0005183dd6eb6244
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:19 +01:00
Oswald Buddenhagen
3b6b615334 export QT_NO_<foo> equivalents to the build system
this makes it possible to properly exclude entire subprojects based on the
availability of features, rather than stuffing every single source file
with #ifdefs.

the defines are aggregated from the -qconfig <profile>,
-no-feature-<foo> and some other configure flags.

usage:

load(qfeatures)
!contains(QT_DISABLED_FEATURES, textarea): SUBDIRS += textstuff

Task-number: QTBUG-28102
Change-Id: I83400632d64312fa4b907e1318dddfe27c432387
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
2013-10-31 19:49:15 +01:00
Robin Burchell
418e06f78f Don't cache QCoreApplication::appName.
This isn't a hot codepath, there is no gain to doing this. It introduces
unnecessary bloat (see e.g.
https://www.webkit.org/blog/2826/unusual-speed-boost-size-matters/) and
complicates boosting Qt application startup in cases where argv[0] is
overwritten.

Change-Id: I55b2b98b0de6b06fe7a049de262f3e19936b73db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:44:16 +01:00
Chengyong Xie
04de24c644 Fix setVisible() of QWidget has no effect in QTreeWidgetItem
Check if the item is hidden before show the item(QWidget)

Task-number: QTBUG-13522
Change-Id: I1c605d5cb8a80f340e9b7601612d3760f51cb4a7
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-31 19:41:49 +01:00
Friedemann Kleint
33a88d6cd7 Stabilize moveChild/showAndMoveChild-tests.
Pass window flags on to ColorWidget constructor and use a window
frame + stay on top-hint for the moveChild/showAndMoveChild tests
to make the screen grabbing more reliable.

Disable animations on Windows since they seem to affect screen
grabbing as well (fading in of windows).

Task-number: QTBUG-30566
Change-Id: I8eacfc203d26674dc1b283d6643f3d434f218f26
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-10-31 14:22:25 +01:00
Paul Olav Tvete
f4d85c6548 Remove compiler warning when QT_NO_PRINTER is defined
This broke the build on Android with warnings-are-errors.

Change-Id: I9edb9539c4a6f7286ff46cbaa53bcfef4cf5280f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-31 14:22:25 +01:00
Mark Brand
a174eb95f1 update changelog for QtSql 5.2.0 (and 5.1.0 in retrospect)
Change-Id: I112e20d16f4da86487b95b4b01c4f3032ea2d3bd
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-10-31 14:22:25 +01:00
Allan Sandfeld Jensen
c1e9c0bb0b Assert in QImage conversion from rgba8888pm -> rgba8888
Fix typo in assert.

Change-Id: I7dc056957b31a869eabe2e45feb99ae4fccb2d97
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-31 14:22:25 +01:00
Joerg Bornemann
392054d311 fix VS version selection
On machines where multiple versions of VS are installed, the VS version
for the vc(x)proj generator is selected by the entries in the PATH
variable. The first VS installation that's found in PATH is used.

The former logic printed a warning if multiple VS installations were in
PATH and also fell back to the lowest version if a VS version was
registered with multiple install paths.
That's the case for VC 2012 express and prevented its usage.

Task-number: QTBUG-34357
Change-Id: Ia5c66a1aea0c40e4b7460b3aa6c7daee6673da44
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-31 12:33:55 +01:00
Oswald Buddenhagen
67c9b5ad9f fix filtering of system paths
the path filtering functions assume that DEFAULT_{INC,LIB}DIRS are
newline separated lists of unquoted strings, which 8fbf959be broke.

Task-number: QTBUG-33714
Change-Id: Ie07909963ac5155a8ac79ca9254f34069925e001
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 12:33:55 +01:00
Yoann Lopes
65b12fbdb1 Store the font's scalability in QFontEngine.
This is an enabler to fallback to native font rendering when using a
bitmap font in Qt Quick.

Task-number: QTBUG-32737
Change-Id: I6d841dd5ef54d78a00f7fab9d80e9c95ff7f7b98
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-31 12:33:55 +01:00
Shawn Rutledge
e8f2c4d2cd QFileDialog: document the consequences of being "widgetless"
After 37ca2224ec it's an exposed
behavior change that the widgets and related paraphernalia don't exist.

Task-number: QTBUG-34100
Change-Id: Ie0ebcb8c5c5668b6c12c5447f25bfbfd893dec6c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-31 12:33:55 +01:00
Tor Arne Vestbø
f9a8cf99bc qmake: Pick up default bundle prefix from Xcode preferences
But still fall back to 'com.yourcompany', just like Xcode does for the
initial launch.

Change-Id: I89afadefafc254a0014aca197741d42a0199943e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-31 12:33:55 +01:00
Laszlo Papp
22aea3f42b Include unistd.h in the unix implementation source of QLockFile
This is necessary to avoid hidden dependencies for int gethostname(char *name,
size_t namelen);

This was revelead while backporting the class to Qt 4 for QtSerialPort.

Change-Id: I1c477d295eeae90b3136fc6aae5d45982d5b1d73
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 12:33:55 +01:00
Eskil Abrahamsen Blomfeldt
8c3f2f5f69 Mention androiddeployqt in changes-5.2.0
The new way deployment is done can be confusing to users of
Qt 5.1 and Necessitas, so we need to mention that it has changed
and point them to the documentation.

Change-Id: I8e9890699f57d6000370c384c52fcb093a917bef
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-10-31 10:52:11 +01:00
Tor Arne Vestbø
9b8c4b3dea iOS: Be more specific in where we look for object files to rename main
When building under Xcode we can limit the object files search to the
current SDK and debug/release configuration.

Change-Id: Ic405f13f46a594e3ed20d82ca6b84e7e67edebfc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-31 10:00:49 +01:00
Kari P
a316bdadc0 Mac: Modify Qt::SizeAllCursor to look like arrows
On Mac, Qt::SizeAllCursor showed a spreadsheet cell selection cursor.
It has been changed to look like it looks in the Qt Documentation.

Task-number: QTBUG-27577
Change-Id: I2d50ab0d813137366b56cb30b8784ecf70392d4e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-31 07:59:25 +01:00
Friedemann Kleint
e00a961732 Clean up QPlatformPrinterSupport via post routine.
Change-Id: I5aff587f0186f15c9fa65d236e5ebe9a7901dd86
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-31 05:53:38 +01:00
Stephen Kelly
fe220f3b5b Don't use NO_DEFAULT_PATH on mac when finding GL headers and libraries.
The paths may be relative to a sysroot or osx SDK. The existing logic
assumed that we always get fully resolved absolute paths from qmake.
However, qmake populates and uses the -isysroot option separately.

Task-number: QTBUG-32308

Change-Id: Ia23600cdc047d0844bfec32dd4feae3a2b5c95c0
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-30 23:26:58 +01:00
Oswald Buddenhagen
6a508ee5b2 bring the windows configure -qconfig handling in line with the unix one
on the way, this significantly simplifies the code.

Change-Id: I24f0a517e62cc4b913ffef5cab096e721653c013
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 23:26:58 +01:00
Oswald Buddenhagen
bf0c9c3bec turn makeabs into a proper cleanPath()
normalize away all ".." and ".".
fewer surprises that way.

Change-Id: Iaa56c634aed5c8351966eaea7a73b85cb8235ead
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 23:26:58 +01:00
Oswald Buddenhagen
54c8c7a96a duplicate less work while handling -qconfig
Change-Id: I8ba6b866f98c9fe7609af71c168023097e32828c
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 23:26:58 +01:00
Ian Dean
fe41442575 iOS: Add standard paths implementation for iOS
A standard paths implementation for iOS. The APIs used on iOS require
that the source file be "Objective-C++" (with a .MM extension), as
there are no APIs available in C++ for this. The implementation
complies with the latest documentation on standard paths.

Change-Id: I349d3c5d4ddb6fb1297a45dc9ae26b56ac528abb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-30 21:58:36 +01:00
Friedemann Kleint
44e68b9026 Windows: Do not use blend function for GL windows with alpha.
Task-number: QTBUG-34376

Change-Id: I81a5ee6ff14e5472eb1f3846577d86b615be34e0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-30 20:30:19 +01:00
Tor Arne Vestbø
769abe8d2f iOS: Fix logic for determining whether to exit the root event loop
Instead of trying to hook into various places where we might be in a
situation where the root event loop should exit, and then enabling the
runloop-observer, we always keep the observer active, and then do the
relevant checks whenever the run-loop exits.

The reason for checking if the event loop is running is that iOS will
enter and exit the root runloop as part of normal operation, eg due to
flicking a scroll view and switching the runloop mode, so we need to
ensure that we're actually supposed to exit the root event loop.

Change-Id: I9b84b47ee45e0c9e2b1d2ebb5a432ea92700b324
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-30 20:30:19 +01:00
Thiago Macieira
d2580054f9 Update the ICC spec on Linux to actually compile stuff
I had the -fPIE option in my personalised "linux-icc-optimised" spec,
so I never noticed it was missing in the standard one.

I have no idea when -rpath-link is necessary. It isn't for me.

Task-number: QTBUG-34425
Change-Id: I54b2fb8cda10b9197d81b5630b1d29b8c338d96a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-30 19:02:01 +01:00
Richard Moe Gustavsen
a959beeeec xcode generator: resolve QMAKE_INFO_PLIST from source dir
If QMAKE_INFO_PLIST is set, check if the file it
points to is located inside the project source dir
rather than the build dir.

Change-Id: I6fb176349dae8e841b5e2dfdb9f9cb87f51a1e76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-30 16:24:22 +01:00
Friedemann Kleint
a3d72efc65 Consider multi-monitor setups in QPlatformWindow::initialGeometry().
Task-number: QTBUG-34204

Change-Id: Id79efe33ece071ad94578b6ac0370b0f040d1c3c
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-30 14:50:02 +01:00
Caroline Chao
195cd51f7d Fix QSpinBox size calculation problem with empty stylesheets
Task-number: QTBUG-34305

Change-Id: I3e89dc66446e9f5e9e1810be367830b9df98ab0b
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-10-30 14:50:02 +01:00
Michael Krasnyk
ebf0524186 dbuscommon.pri: Fix source file dependency
Make already the creation of the generated cpp file depend on the
creation of the generated h file, which transitively ensures that
the cpp won't be compiled before the h is there.

Change-Id: Idd3aec8d72dac341e835a3d1ef8f2986dbc1ab9f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-30 14:50:02 +01:00
Christian Strømme
b280182053 Android: Don't rely on QIcon::isNull() to validate icon data.
QIcon::isNull() only checks if it has a valid d pointer and not if it
actually contains any image data. The result is that the QImage create
from the icon would be invalid, and later cause an exception to be
thrown. To avoid this we should check the QImage as well.

Task-number: QTBUG-34416
Change-Id: I9dd0a2387d73bfc2c27ceb9df247ddc186dd659f
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-30 14:50:02 +01:00
Christian Strømme
fb5036b7f1 Android: Fix problem with leaking local refs.
In some cases we where not releasing the local references and since we
no longer disconnect from the VM on each call, the number of local refs.
would accumulating until it hit the hard-limit of 512.

Change-Id: I6826620e4cb61a37af26d276667489e876080076
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-10-30 14:50:02 +01:00
Jørgen Lind
aa92cab346 remove compiler warning
Change-Id: I40750320d21165333b195aca7564a6f4ee9d9eef
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-30 13:09:47 +01:00
Jørgen Lind
f1927370cb xcb: Compilefix #ifdef glx code
Change-Id: I4204cab76b2621318dda909d24ceb2abab6e0ba3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-30 13:09:47 +01:00
Jørgen Lind
105e228d1c xcb: Act on the _NET_ACTIVE_WINDOW event
It happens that we don't get a focus inn event for top level windows
when focus goes from a window mapped. But we do get a _NET_ACTIVE_WINDOW
event.

Task-number: QTBUG-34426
Change-Id: Id1d9eb708a968e0e8934e56dec19abe2dd203bc7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-30 13:09:47 +01:00
Tor Arne Vestbø
e7bda8ee10 iOS: Build libs (including Qt itself) for both simulator and device
Conceptually a Qt for iOS SDK or source build should support building
for both simulator and device, based on the same qmake binary and Qt
libraries. Qt Creator or Xcode should then be able to use the same Qt
version while still building for a single target at a time. This
applies to user libraries as well, which shouldn't require switching
to a different Qt when changing target platform from simulator to
device.

We achieve this by using Qt's exclusive_build feature, where we build
for the two targets in parallel, and then teach Xcode how to choose
the right library dynamically at build time.

Change-Id: I06d60e120d986085fb8686ced98f22f7047c4f23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-30 13:09:47 +01:00
Thierry Bastian
3655d71719 Fix the network proxy code for windows to detect properly services
This patch makes it so even sub processes of services are also
detected to be running in the context of a service. With the previous
code it would only detect that the current process is a service
and not the sub processes.

This fix makes sure we detect properly if the current process
is running in the context of a service. This is important to
detect properly the proxy configuration of the current user.

Change-Id: I110dee62597aec3f8e2f6925166a428f72d14fd0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-30 11:29:04 +01:00
Simo Fält
c1f76a3347 Adding CI utilities to Android test script
It is now configurable if test results are stored in xml, plain text
or in both formats. Default is xml, like it was,
Max runtime is also configurable so that we can reduce the CI round.
With default setting it takes more than eight hours within current
CI node.
The latest test result dir is linked as latest.

Change-Id: I5d27cefe17e4f86648132db7ec104711d993c3de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-30 11:29:04 +01:00
Stephen Kelly
fae95d5da3 Test that Qt tools can handle ' as a digit separator.
Change-Id: I0a3446d02184989c32367e66d4f5d9e464a56ec6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 09:44:07 +01:00
Kai Koehne
f0625d2b88 Use Q_UNLIKELY in qCDebug, qCTrace
By default debug, trace is disabled, so this can be marked as unlikely.

Change-Id: I221a688c953c1ff1fdfda65d2d99457785d3ff47
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 09:44:07 +01:00
Joshua Grauman
f18fd0450c Fix finding cursor position in words with accents
In positionInLigature() we were mixing indexes into the script item with
indexes into the entire string. The getClusterLength() function would expect
an attributes array for the current script item and it thus needs to be
adjusted by si->position. In addition, when looking for the next grapheme
boundary, we were comparing pos (which indexed the string) with end (which
indexed the script item). This has also now been fixed by adjusting for
si->position as well.

Task-number: QTBUG-30123
Change-Id: Id02e2eddcc5b7888eacb34bd1e39cc6911880ca1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-30 09:44:07 +01:00
Jørgen Lind
43002e2572 Silence the _COMPIZ_DECOR_* warnings on Ubuntu
Earliest occurrence is to my knowledge in 12.04.
It is still unclear how to act on those messages

Change-Id: I7da48281c6bec973448a1d4cd800d445a80695a2
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-30 08:11:08 +01:00
Jørgen Lind
ac693bf754 Add QGuiApplication::sync() function
This will allow applications to make sure Qt has the same state as the
window system at any given point. The use of this function is
discouraged but it is very useful for auto tests.

Change-Id: I691bff365fc391e9d7213f2607008983505bb774
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-10-30 08:11:00 +01:00
Tor Arne Vestbø
396aa7fade iOS: Build simulator libraries with suffix
Makes it possible to join two separate builds, and opens up for using
exclusive builds to do this.

Change-Id: I87ccbdd55511fdfbef3fe8b581f40525ebf077ed
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-30 00:34:34 +01:00