Commit Graph

713 Commits (423ee63b7be093abd047e0a35d02ecf371e92b3a)

Author SHA1 Message Date
Frederik Gladhorn 4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).

Conflicts:
	configure
	qmake/generators/win32/msvc_nmake.cpp
	src/3rdparty/angle/src/libEGL/Surface.cpp
	src/angle/src/common/common.pri
	src/corelib/global/qglobal.h
	src/corelib/io/qstandardpaths.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxscreeneventhandler.h
	src/plugins/platforms/xcb/qglxintegration.h
	src/widgets/kernel/win.pri
	tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
	tools/configure/configureapp.cpp

Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
2013-11-26 22:35:48 +01:00
Frederik Gladhorn 3061dc4abd Merge remote-tracking branch 'origin/release' into stable
Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
2013-11-26 10:51:34 +01:00
Bernd Weimer 5d8c05baf4 QNX: Make use of _readdir64_r
Latest QNX versions support _readdir64_r. It will be used by
QFileSystemIterator now, when available to support large file
systems.

Change-Id: I40135f405ad72e1ba85c6a4cd282144dd8171bc6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-25 18:15:35 +01:00
Kurt Pattyn 06ff9c9ec0 Replace deprecated method
Replace deprecated CFPropertyListCreateXMLData with
CFPropertyListCreateData

Change-Id: I284f1906cfb3da7692f04e2924c989c572efce30
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-22 21:35:29 +01:00
Frank Osterfeld a695371b8f QNX: Fix build
Return "qnx" on non-BB10 QNX.

Task-number: QTBUG-34980
Change-Id: I80a95f8d4945fb180fdd565147cf344b51d79fda
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-20 18:24:14 +01:00
Marc Mutz 8cbea7a886 QFileSelector: mark ctor explicit
This is standard for (QObject*) ctors.

Change-Id: I4756ba50b1f3148d72e95e581d52a37ebd47a7ae
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-11-16 16:39:38 +01:00
Alan Alpert 7d72516b52 Change platform selectors to match qmake selectors
Previously matched Qt.platform.os, however that can only provide one
string. Multiple selectors can be present at once, so we can provide
both unix and linux instead of having to pick the most specialized one.

Task-number: QTBUG-34796
Change-Id: I219517d740fa7385e923a9e09cb7e241378fbaee
Reviewed-by: David Faure <david.faure@kdab.com>
2013-11-15 06:36:44 +01:00
Maurice Kalinowski c784ec00fa WinRT: implement QStandardPaths
need to leave some items out like media folder access, as this is not
available by default and also requires certain capabilities to use
those.

Furthermore updated the tests for sandboxing as well as skip cmd.exe
related tests as that does not exist on WinRT.

Change-Id: I992b1e195b79615bea0be4f84f56cfb8f0d902bf
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-11-12 12:46:37 +01:00
Maurice Kalinowski 7ea584f830 fix directory separators for WinRT
internally we always use forward slashes

Change-Id: I0573d63b993bb76bc5798ee060fe9bdfb7304658
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-11-12 12:46:37 +01:00
Maurice Kalinowski f7f9126ed7 change to basic file info on WinRT
FILE_FULL_DIR_INFO failed under certain circumstances on WinRT and
provides far more information than required. Hence prefer the basic
version in every case and standard for files with size description.

Change-Id: I63f1365f83cdd5d69f81278411f822dbd361fa92
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-11-12 10:39:54 +01:00
Kai Koehne 7a78a22e65 Prevent clang from warning about unused variables
Fixes a compiler warning introduced by 79b975756a

Change-Id: Ie9bc677d061f0bb0530eae88715069042b2ab440
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-08 16:45:26 +01:00
Kai Koehne 79b975756a Revert "Add tracing to logging framework"
The tracing API still misses some real-world exposure. Let's
re-do this in dev to have more time.

This reverts parts of following commits:

466e0dff4b
7a47aebe9e
a652bab6a7
8f0654ceb8
4162522edd
32f27b4367
9ff81bdc1a

Change-Id: If97340c37b8b3363f597683336a8390d5ff386f1
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-11-07 11:29:30 +01:00
Marc Mutz 6aff0c4e48 QUrlTwoFlag: add two missing constexpr
The other member functions that can be constexpr already are, only these
were missing.

Change-Id: I717c74b210b45cfb8af9168d61e27e3ff2f6a9c9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-07 03:06:16 +01:00
Marc Mutz 1248b1cbe2 Q(UrlTwo)Flags: avoid undefined behavior
Loading an enum with a value that isn't in the enum is undefined,
according to Clang's usan.

So when doing logical operations on QFlags<E>, don't go through
the QFlags(E) constructor, but via QFlags(QFlag) (=int) instead.

Apply the same change to QUrlTwoFlags.

Change-Id: I5f27e22c4d831482fcbba88b97cb124fb005e3fd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-07 03:06:06 +01:00
Thiago Macieira 6adfca1acb Doc: Add a little more information about current dirs
Task-number: QTBUG-34300
Change-Id: Ib71d6ace77b525942ca40645299cdfd87b753d70
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-06 08:35:29 +01:00
David Faure 44d48862c0 QStandardPaths: add GenericConfigLocation
This is what ConfigLocation was meant to be. A directory shared by all
applications. Unfortunately when I wrote the fallback on Windows,
I picked DataLocation (which is app-specific) instead of
GenericDataLocation (which is shared between apps). This makes it
impossible to have config files shared between apps, e.g. for libraries.
It also makes ConfigLocation quite inconsistent (on Windows one cannot
use it to load another app's config file, while it works everywhere else).

All this is fixed by GenericConfigLocation, which is shared between apps.

Change-Id: I23a755131061d4fea01e13dd1038fbd8ef333a5d
Reviewed-by: Alex Richardson <arichardson.kde@googlemail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-05 19:08:08 +01:00
Morten Johan Sørvig fc26b053df Declare Cocoa conversion funcs in objc-mode only.
In practice, there are several ways to forward-declare
objective-c classes. Qt uses "struct objc_object",
other projects may use a plain "class". Mismatched
forward declarations will lead to compile errors,
and this is a form of header pollution.

dd5e40d9 added a workaround where Q_FORWARD_DECLARE_OBJC_CLASS
can be predefined in order to sync up the declarations.

Make forward declaration clashes less likely by
forward-declaring in objc-mode only.

Change-Id: I9f7a399d64dc88bfe05d5385b3d46b5302112aef
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-05 17:37:05 +01:00
Tor Arne Vestbø aa6a0cdbf5 Clarify use of Q_INIT_RESOURCE
The Q_INIT_RESOURCE macro is needed if a library itself uses resources, in
which case the Q_INIT_RESOURCE can and should happen in the library (like
we do for eg. widget styles), or if a library exposes resources that are
supposed to be used by the library clients, in which case the macro needs
to be put in the application code.

The distinction between the two, and the fact that resources built as part
of the main executable do not need the explicit initialization, were not
all that clear.

This was evident by the lack of Q_INIT_RESOURCE in our own Qt libraries,
and the various Q_INIT_RESOURCE calls in our examples where they are not
needed.

Change-Id: I40258458e9fdf9ee5502c212971fb3d90b4fc388
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-05 15:40:14 +01:00
David Faure 3604280b41 QStandardPaths: Add GenericConfigLocation to the documentation
The actual feature comes from a merge from the stable branch.

Change-Id: Id067fb2b26cb3c6b78c7705b77bd741e3bd8f090
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-05 09:45:27 +01:00
Maurice Kalinowski 2ff0746e97 Refactor plugin loading for WinRT
Specify the root directory to be the package root. Only plugins
inside the root can be opened (actually also only files). Furthermore
current defaults to the package root now, which in most cases is
identical to previous behavior.

When attempting to load a plugin the path can either be specified in
host format "C:/..." or as plugin absolute "/platforms/...". Check for
both, with preference of latter case, like when qt.conf is used with
/ being used as plugin path.

Change-Id: I7e3da293362488b62a3357c4882ebf5e048dcf95
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-11-05 08:17:35 +01:00
Marcel Krems c87b27f308 Silence compiler warning
warning: logical not is only applied to the left hand side of this
 comparison [-Wlogical-not-parentheses]

Change-Id: I15e283023918cd4ebc27e91812eadf95ba156d71
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-11-04 19:53:08 +01:00
Oswald Buddenhagen 8a5657b9f7 fix warnings about unused variables & parameters
Change-Id: Ia5816671267ea21dae0d90560b239c4498f9156c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-04 19:50:05 +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
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
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
Sze Howe Koh 0d7d5ff5d0 Doc: Fix miscellaneous typos
Change-Id: Iaf0dd8974c3ad78beffa995c596a76fb3e4cceab
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
2013-10-30 00:34:34 +01:00
Thiago Macieira bf6a345baa Doc: update the documentation of QStandardPaths to be more thorough
Specifically, note what paths can be empty and which ones can't (modulo
system mis-configuration, like an empty $HOME var) and describe what
implications there are for application-specific paths and for global
(user) paths.

Change-Id: If6c11aab466ba50f3a9685dce52dd51b86426f27
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-29 16:11:46 +01:00
Thiago Macieira 11e93372df Make the localHostName() copy function return QByteArray
This avoids one extra memory allocation when creating the lock file. The
number of memory allocations when checking the file are still the same.

Change-Id: I16a2fdb7a5458bdc66f8ad1c602582b5698a5b5c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-29 16:04:38 +01:00
Frederik Gladhorn 840f6a40e6 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
2013-10-24 12:48:42 +02:00
Kai Koehne 2e3870fe37 Reserve some space for future use in QLoggingCategory
Currently Qt offers only debug, warning, critical message types for
general use. Most logging frameworks offer more ... let's save
some space for future message types.

Change-Id: Icb4333da5c8f5277fd10d8a01b06d95369662bdc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-24 10:18:26 +02:00
Sergio Martins 24d926cb8f Initialize variable to fix build [-Werror=uninitialized].
The complaining compiler is:
gcc version 4.6.3 (crosstool-NG hg+default-ddc327ebaef2)

Change-Id: Iae488a89d75492e76a39a326b2db36548f8894d0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-19 23:48:44 +02:00
Kai Koehne a652bab6a7 Link from QLoggingCategory documentation to QTracer/QTraceGuard
Change-Id: I331966f6137a31f089425a639afe8f9f4088c0b6
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-18 20:04:57 +02:00
hjk 1d3fce8b50 Add missing \since 5.2 tag to static QFileInfo::exists()
Change-Id: I11e136eaede2a5dffeb10b5fe31023b9aef709cb
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-10-17 15:58:32 +02:00
Friedemann Kleint 73e3d2f6cb Windows: Capture last error right after CreateDirectory() in QFileSystemEngine.
Custom allocators invoked by freeing the QString contents might change
it.

Task-number: QTBUG-34046
Task-number: QTBUG-32314

Change-Id: Ied5305c21fcce228448fe565899163997536ea7a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-17 15:58:32 +02:00
Kurt Pattyn 69cd7e8f70 Clarify that the URL scheme does not include the ':'
From the documentation of setScheme it was not clear if the scheme should
be terminated by a ':' or not. Documentation has been updated to clarify
the expected syntax for the scheme.

Change-Id: Ied8533beef7daa12e1d5e7da0649c184efb84522
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-17 09:50:58 +02:00
Kurt Pattyn add2bf739a Allow non-character codes in utf8 strings
Changed the processing of non-character code handling in the UTF8 codec.
Non-character codes are now accepted in QStrings, QUrls and QJson strings.
Unit tests were adapted accordingly.
For more info about non-character codes,
see: http://www.unicode.org/versions/corrigendum9.html

[ChangeLog][QtCore][QUtf8]
UTF-8 now accepts non-character unicode points; these are not replaced
by the replacement character anymore

[ChangeLog][QtCore][QUrl]
QUrl now fully accepts non-character unicode points; they are encoded as
percent characters; they can also be pretty decoded

[ChangeLog][QtCore][QJson]
The Writer and the Parser now fully accept non-character unicode points.

Change-Id: I77cf4f0e6210741eac8082912a0b6118eced4f77
Task-number: QTBUG-33229
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-17 09:50:58 +02:00
Kai Koehne 8f0654ceb8 Give an example how to configure categorized logging
Change-Id: I178bb6e75fba246932b318c2c0c5afd243575a92
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-16 17:10:15 +02:00
Thiago Macieira 6cdc033c61 Use the fast operator+ (in the form of operator%)
QStringBuilder will precalculate the size of the string for us, which
avoids extra realloc() and moving data around.

Change-Id: I4e31964bb9bfffbe2083b3cb8c120e602160dfd8
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
2013-10-15 23:58:09 +02:00
Laszlo Papp fe1cbe9ca7 Add qWarning when trying to read or write a closed device
Change-Id: Ifda057d122a30d88749c6401185457f1900a913b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 04:29:19 +02:00
Frederik Gladhorn 24cc181f04 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-10-14 11:35:30 +02:00
Jian Liang 5c87044870 Fix memory leak in QFileInfo::exists()
Use the the legacy file engine object created in static function
QFileInfo::exists() as the engine of the QFileInfo object to prevent
memory leak. This can also boost a little performance.

Change-Id: I06317d158d487be5ef15fe3244a917a371563ac9
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-12 10:52:03 +02:00
hjk 7a47aebe9e Let QLoggingCategory::defaultCategory return a pointer
The pointer can be null. Going trough the reference invokes undefined
behavior here.

Change-Id: Ia84e4e732cdcbbaee0f5f0679765d18069ea8b2d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-10-11 19:15:29 +02:00
Kevin Ottens d8d6880682 Reduce risks of lock file corruption
Trying to do as few operations as possible once the file got opened.
That includes generating the data which will go in the file. Indeed if
we crashed at that point the lock file is already emptied. Could happen
because of the qAppName call. It's then safer to prepare the data
upfront, and just open/write/close if possible.

Change-Id: Iad32fa822c6a5958ae89d84a2fe02ed5366ea278
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-10-11 18:47:27 +02:00
Frederik Gladhorn d0eb444a49 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
2013-10-11 16:12:35 +02:00
Oliver Wolff e31be2964e Added initial file system support for winrt
While some functionality is not available for winphone
(QFileSystemEngine::tempPath), some functionality can
be fully supported. Other cases like checking for stale
processes which is needed by QLockFile cannot be covered
that easily as obtaining information about other processes
is limited due to sandboxing.

Change-Id: I9ea80ae2b421eea1ddfd4c5bc2f4b6f8adaee85f
Done-with: Kamil Trzcinski
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2013-10-11 12:22:53 +02:00
Kai Koehne 5db49141a5 Fix "Empty or null file name(s)" warning text
Remove '(s)' for methods taking only one path argument. The '(s)' has
been dropped in other places already ...

Change-Id: I9dc0d1cfa1e02f60bce901a309835f4bbfadde6d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-08 09:18:24 +02:00
Jerome Pasion 4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
Sebastian Schuberth ac5f4a8e76 Allow to use short names for Windows Registry root keys
Change-Id: I58b7681bb49e93b7577bc559d754c81d3c6f007b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-07 19:09:37 +02:00
Kai Koehne 55880e6c18 Remove default label for QtMsgType
Adding another category will most likely require a dedicated
handling anyway, so better let the compiler warn about it.

Change-Id: I323ca1250d82e33c086f1930e1df0a6337d6f16f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-07 14:24:37 +02:00
Kai Koehne 4162522edd Improve QLoggingCategory documentation
Change-Id: I142e954cc3622643d80b8efd3b1d659c11d4e239
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-07 14:24:32 +02:00