Commit Graph

18654 Commits (590c73bee2083c8dc8635123726e138a26dd3a97)

Author SHA1 Message Date
Friedemann Kleint 590c73bee2 Add static assert checking QT_POINTER_SIZE.
QT_POINTER_SIZE is determined by the configure test ptrsize,
which has been observed to fail due to unrelated build issues.
Add a check to verify the correct size.

Task-number: QTBUG-48525
Change-Id: I4fcb9761b54370b39c0d3e1e0a6d0aa3c0223f40
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-07 13:14:07 +00:00
Topi Reinio 694d300355 qdoc: Avoid extra spaces in function synopses
Instead of blindly leading each parameter name with a space, check
if the data type name is empty first. This prevents extra spaces
from appearing in QML method signatures, which can be documented
with parameter names only, without data types.

Change-Id: I726f8c29839430186fcae4ac19d00404233395e0
Task-number: QTWEBSITE-691
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-07 10:05:51 +00:00
Thiago Macieira 9684e16f00 QUtf8Codec: Remove dead code
The maximum value for charsNeeded is 4, so if bytesAvailable is less
than charsNeeded - 1, the it's at most 2. It can't be larger than 2.

Found by Coverity, CID 11000.

Change-Id: I42e7ef1a481840699a8dffff1407ef9221a4fd80
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-10-06 16:37:41 +00:00
Friedemann Kleint da5b8bfe46 Add missing "We mean it" comments to private headers.
Change-Id: If81a5e1db0fe93377e7cc54a78b01c50b44abe57
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-10-05 12:10:45 +00:00
Tor Arne Vestbø 76cd806e6d Remove extra semicolon in declaration of QMacAutoReleasePool
Change-Id: Ie7f92fae5f80fc2a8b4dae58f6688ea47dbcb95b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-10-02 15:31:17 +00:00
Liang Qi 925d6eff3e Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6 2015-10-02 17:24:58 +00:00
Liang Qi d0eaa737e1 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/corelib/tools/qstring.h
	src/gui/image/qimagereader.cpp
	src/network/access/qnetworkaccessmanager.cpp
	src/tools/qdoc/doc/examples/examples.qdoc
	src/widgets/accessible/qaccessiblewidgetfactory_p.h
	src/widgets/doc/qtwidgets.qdocconf

Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
2015-10-02 16:59:55 +02:00
Nico Vertriest d49169ae89 Doc: replace \target with \keyword if at start of page
A \target whose purpose is to link to the top of a
page (and not to a section within a page) works better
as a \keyword, because \target generates a
new html anchor which, in this case, is not tied to
any title element on the page.
A \keyword links to the page itself, as expected.

Task-number: QTBUG-48482
Change-Id: I957551edd0eb7e665358d04b37dab41e2686b851
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-10-02 10:15:27 +00:00
Topi Reinio fbf3daef38 Doc: Update obsolete URLs to external documentation
Change-Id: I199de83971701c14e903e712fcdcd29aaff95c6d
Task-number: QTBUG-48420
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-10-02 10:14:47 +00:00
Topi Reinio 549eada0ab Doc: Use correct image in Qt::BusyCursor documentation
Change-Id: I54e832808a37d46f5520c57ceb2a270685ed3f94
Task-number: QTBUG-48445
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-02 10:14:36 +00:00
Topi Reinio e03bcdea62 qdoc: Fix a regression with QML node attributes written to index files
QDoc needs to write the following attributes to index files:

For qmlclass:  qml-module-name, qml-base-type
For qmlmodule: qml-module-name, qml-module-version

Because of a regression introduced in Qt 5.5, no QML module name
or base type information were written for QML types, resulting in
linking issues.

Change-Id: I69e616dadfc9ede389bc05e16acb831f1e15bac5
Task-number: QTBUG-48479
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-02 10:14:21 +00:00
Topi Reinio 17f649ab29 Doc: Fix URL in QSystemTrayIcon documentation
Change-Id: Id7da32c8b48486e8bd80893e0a73297d2f325d50
Task-number: QTWEBSITE-690
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2015-10-02 10:14:06 +00:00
Topi Reinio 8058ab5758 qdoc: Resolve namespaces declared in index trees
QDoc never called resolveNamespaces() unless running in single-exec
mode.

This commit fixes that, and causes public namespaces documented in
other modules to be treated as 'seen', i.e, as if they were
declared locally.

Change-Id: Id1dda7aaea6c9bd38bbeb5992121575a1876cbf7
Task-number: QTBUG-48523
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-10-02 10:13:54 +00:00
Simon Hausmann 7c0b9e1e8d Fix build without PCH after commit 3ae2387f37
Include errno.h for errno and EEXIST.

Change-Id: Id28d5a08097319eb84b1fe9ef20c9be6ebe575fa
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-10-02 09:02:21 +00:00
Laszlo Agocs f191ba9d71 Revamp signal handling in eglfs/linuxfb
Go back to the pipe-based signal handling. signalfd() introduces more harm than good
and is a regression for applications that install their own signal handlers.

Simplify the somewhat overcomplicated suspend (Ctrl+Z) logic too. There is no need for
requiring a callback. Just enable/disable the keyboard and cursor on suspend and resume
and emit the signals. Backends (like kms) may then perform additional steps, if they
choose to do so.

Task-number: QTBUG-48384
Change-Id: Ifd52de89c59915a2e0be6bf5ebc6f2ff1728eb50
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2015-10-02 06:32:03 +00:00
Thiago Macieira 906d92bde4 Fix missing "We mean it" in qtbase private headers
Change-Id: I42e7ef1a481840699a8dffff1408dfd4fd9c8e32
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-10-01 21:09:05 +00:00
Thiago Macieira e9365c2c2f Revert "Add support for same-file intrinsics with Clang 3.7"
This reverts commit 39c2b8c5c1. The
feature is not working:

$ clang -c -o /dev/null -msse2 -include tmmintrin.h -xc /dev/null
In file included from <built-in>:316:
In file included from <command line>:1:
/home/thiago/clang3.7/bin/../lib/clang/3.7.0/include/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"

For reference:

$ icpc -c -o /dev/null -msse2 -include tmmintrin.h -xc /dev/null; echo $?
0
$ gcc -c -o /dev/null -msse2 -include tmmintrin.h -xc /dev/null; echo $?
0

Change-Id: I42e7ef1a481840699a8dffff140844cb8872ed6e
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2015-10-01 21:08:47 +00:00
Thiago Macieira 8233e401b1 QLocale: remove (harmless) dead code
On line 92 and on line 146, len == 2 or len == 3, so uc1 and uc2 cannot
be 0, ever.

Found by Coverity, CID 11013 and CID 11012.

Change-Id: I42e7ef1a481840699a8dffff1407edefd3e7aa4f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-01 21:08:25 +00:00
Oswald Buddenhagen 8e3e089763 don't overquote library path
Change-Id: I33b91141c79cacd1a46299754937c81a31e665c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-01 16:19:05 +00:00
Edward Welbourne 2c5126b9de Purge extraneous execute permissions.
Source files should not be executable.

Change-Id: If9b9eaa6c8c7348ca6f48fa9253f3540e95aca37
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-09-30 18:26:21 +00:00
Edward Welbourne 1d6643895d Moved a comment to where it belongs.
There was another function between the comment and the one it documented.

Change-Id: I4e96979261738b1ef264984da0d6a8245f2fb643
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-30 18:25:58 +00:00
Edward Welbourne b86efb1ab9 Initialize QFutureWatcherBasePrivate::finished and test
It's accessed by QFutureWatcherBase::isFinished(), potentially before
anything has set it.  It gets to be initially true until setFuture()
has given it us unfinished future and set it false.

Add a regression test for matching state in future and watcher.

Task-number: QTBUG-12358
Change-Id: Iae7bdaa434ab80f518afe4d7d55df99c391991a4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-09-30 08:25:34 +00:00
Louai Al-Khanji ac0184d608 Add qt_safe_ftok wrapper for ftok
The ftok function unfortunately can return duplicate keys even for different
files if the same project id is used. This is discussed e.g. in Stevens'
"Advanced Programming in the UNIX Environment".

We want the key to be predictable so we cannot just pass a random number as
the project id. To reduce the propability of key collisions we hash the file
name with the project number as seed for a predictable value. This is the same
approach taken e.g. by Apache, but the real fix is to move away from System V
IPC completely once this is feasible on our supported platforms.

Task-number: QTBUG-48375
Change-Id: If1a57f215f7ddd147aa38919907cfb83db07aea0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-30 05:35:16 +00:00
Vyacheslav Koscheev 0cd7b64a61 qwindowsmime compilation fix
Change-Id: I6ca030ed1333f62da6270c1295a4f489f088334d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-09-30 04:55:54 +00:00
Friedemann Kleint a4df9739a2 uic/class_lib_map.h: Fix include path of QValidator-derived classes.
Task-number: QTBUG-48492
Change-Id: I1b43bd955cdb36c564483dfa3d9b416885ada983
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-09-30 04:30:31 +00:00
Friedemann Kleint a5f470240f qprintengine_win.cpp: Check access to members of DOCINFO in warning.
DOCINFO::lpszOutput can be 0.

Task-number: QTBUG-48203
Change-Id: Ia3940b5b3200143d8d50caa8f4f44c4b22bfff75
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-09-29 12:11:34 +00:00
Friedemann Kleint 53755617e4 QTestLib: Add MSVC 2015 to blacklist.
Task-number: QTBUG-48455
Change-Id: I8ea322f393a1f8d44183892f20e5461d571bc4c0
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-09-29 10:44:30 +00:00
Joerg Bornemann 7fe5f82e48 clean up QWindowsPipeWriter I/O error handling
Exit early, and add warning messages for (unlikely) error cases.

Change-Id: I7130b2e298f3a644a9d0e96a3a1860350e11adff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-29 08:31:54 +00:00
Joerg Bornemann 9ef8760355 QWindowsPipeWriter: clean up OVERLAPPED resource handling
Use RAII to ensure that every code path cleans up the event handle,
and re-initialize the whole OVERLAPPED object, not just the two
offset members.

Change-Id: If7e68ec6e61b7bb04df0d06734c04589f6822c4a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-29 08:31:47 +00:00
Samuel Nevala f8b317dd59 winrt: Default show to showMaximized on Windows Phone.
Status bar visibility can be controlled and window geometry can be
adjusted accordingly. Default show to showMaximized instead of
showFullScreen. This means that by default application starts status
bar visible.

[ChangeLog][winphone][Important Behavioral Changes] By default
application starts status bar visible.

Task-Id: QTBUG-48282
Change-Id: Ia60edd53ec2a7181aa97d21a825600b7c8cf87a7
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-09-28 17:27:15 +00:00
Thiago Macieira 9830857629 QFSFileEngine: Remove unused member
Change-Id: I42e7ef1a481840699a8dffff1407ebea9c7cb423
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-09-28 16:30:20 +00:00
Thiago Macieira 84a806589f Fix sign-extension
If data[0] were > 128 (that is, if the full size, encoded in big endian
were > 2 GB), the result of the OR chain would be a negative int (due to
C integer promotion rules). We're shifting into the sign bit, which is
either implementation-defined behavior or, worse, undefined behavior.

This negative number is then sign-extended to ulong (64-bit on 64-bit
platforms), which then becomes a big number. This code was probably
written with only 32-bit in mind, where there would be no size extension
(sign or otherwise).

This isn't too bad because there's a size check for the max size of
QByteArray a few lines below, but we can fix it, so let's do it.

Found by Coverity, CID 22530.

Change-Id: I42e7ef1a481840699a8dffff1407ea6c22e1a0ec
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-09-28 16:29:50 +00:00
Thiago Macieira b03d91e3f7 Remove unnecessary null-pointer check
It was dereferenced 8 lines before and the pointer cannot have changed
since.

Found by Coverity, CID 11363.

Change-Id: I42e7ef1a481840699a8dffff1407ecab4e4f5930
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-09-28 16:29:20 +00:00
Thiago Macieira ab6f941b50 QUrl::setPort: use the original port number in the error message
Otherwise the error message will always say -1.

Change-Id: I42e7ef1a481840699a8dffff1407eceec1906254
Reviewed-by: David Faure <david.faure@kdab.com>
2015-09-28 16:29:04 +00:00
Pier Luigi Fiorini dceb424fe8 eglfs_kms: Skip disconnected outputs
For some reason VMware reports 8 outputs, 7 of them are disconnected
and so they cause several errors.

Skip disconnected outputs to avoid those errors.

Change-Id: I5f9fa2ef38b916af9f9ae8b50fce9fc40c18bff3
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-09-28 16:08:34 +00:00
Pier Luigi Fiorini 0ea56cc075 eglfs_kms: Subpixel antialiasing type
[ChangeLog][QPA][eglfs][kms] Provide subpixel antialiasing type.

Change-Id: I1eed487cea675d988a128f63a9d5c2c0ddeae21f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-09-28 16:07:58 +00:00
David Faure 4accd865c2 QLockFile: sync to disk to avoid leaving an empty lock file on crash
The two lines of code are the same as in QFSFileEnginePrivate::nativeSyncToDisk,
but we don't want to create a fileengine instance just for this.

qlockfile_win.cpp already calls FlushFileBuffers, only the Unix implementation
was missing the equivalent call.

Task-number: QTBUG-44771
Change-Id: I2253972857e4de9d27ef442c92983a1088d6f03e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-28 09:47:57 +00:00
Nico Vertriest b47bcba0f5 Doc: minor link issue in qtbase
Task-number: QTBUG-43810
Change-Id: I018c25146e6be3fa2c9dfffbdc9bd71738aefcc2
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-09-28 09:39:28 +00:00
Christian Kandeler d24366a632 Fix comparisons between QByteArray and QString.
QByteArray::operator< and friends had their logic reversed.

Task-number: QTBUG-48350
Change-Id: I625209cc922b47e78dfb8de9fe100411f285a628
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-28 07:42:51 +00:00
Thiago Macieira 1a6ac83193 Ensure there's no sign-extension here.
Both e_shentsize and e_shtrndx are ELF half-words, which means C
integers of rank less than int (they're quint16). That means this
multiplcation was done actually as int, due to integer promotion from
unsigned short. So preempt the integer promotion and force them to full-
word integers (unsigned int).

While the bit-pattern result of the multiplication is the same, the
addition with e_shoff (a qelfoff_t = quintptr) wouldn't: the promotion
from 32-bit int to 64-bit would first execute a sign-extension.

Now, this shouldn't happen on regular ELF files, but it cause QLibrary
to crash if a specially-crafted (or simply corrupt) plugin is found.

Found by Coverity, CID 22642

Change-Id: I42e7ef1a481840699a8dffff1407e9f1282eeecf
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-09-28 06:39:05 +00:00
Tor Arne Vestbø 126c2cb8fb Clean up cancel operation handling on OS X
The logic for handling cancel operations was spread out through
the code base and sometimes hard-coded to only include the Escape
key shortcut, missing the Command+. shortcut.

We now intercept both attempts at cancel operations from the system
through cancelOperation, which we forward as normal key events.

A new QKeySequence::StandardKey has been added for the Cancel sequence,
which maps to Escape on all platforms, and Command+. in addition for
OS X. The hard-coded logic in QWidget and subclasses for dealing
with closing the dialogs has been replaced with this key sequence,
which allows clients to override the behavior. Note that the widget
code is not wrapped in checks for QT_NO_SHORTCUT, as we don't care
about keeping widgets building and working under that define.

The logic in QCocoaWindow to bypass windowShouldClose when delivering
IM events has been removed as we now handle that specific case by
also forwarding Escape as a cancel operation.

Task-number: QTBUG-47557
Task-number: QTBUG-45771
Task-number: QTBUG-44076
Change-Id: Ibe0b3a4819f8659d246a2142dd7d9cd3a826ef78
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-09-27 20:44:17 +00:00
Dāvis Mosāns e18554d4f7 Network: Use QFile::encodeName for POSIX paths instead of toLatin1
POSIX API doesn't really have defined encoding and kernel works with
null-terminated byte strings (char *) without any knowledge about
encodings.

But usually applications use LANG (and LC_*) as encoding making it
possible to use any encoding user wishes, including full Unicode
support when UTF-8 is used.

This allows to create and listen to sockets with paths containing
non-latin characters.
eg. listen(QString("/run/υποδοχή"));

Change-Id: I022ac6a8a4575103125c48768a66bef88a232a2a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Dāvis Mosāns <davispuh@gmail.com>
2015-09-27 19:38:29 +00:00
Lorn Potter bb281eea17 Make sure networkAccessibilityChanged is emitted
Task-number: QTBUG-46323
Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-09-26 19:14:03 +00:00
Sebastian Lösch f98c2ef27a Abort underlying socket when aborting QNetworkReply
If we abort a connection in QNetworkReply::encrypted the underlying
socket gets flushed. This patch fixes that no data will be transmitted
after someone called abort().

Change-Id: I59306e69cb9f2e1421b324e11947375130e52135
Task-number: QTBUG-47471
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-26 19:13:23 +00:00
Thiago Macieira 393c8d0b74 Fix ICC warning about use of "defined" in a macro
qhash.cpp(89): warning #3199: "defined" is always false in a macro expansion in Microsoft mode

Change-Id: I7de033f80b0e4431b7f1ffff13fc960bcbb17352
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-09-25 20:24:33 +00:00
Thiago Macieira d90536787b Work around GCC thinking that a variable could be clobbered by longjmp
It can't be. The block in which the variable "s" exists makes no call
to any function that takes the setjmp buffer. This is not a false
positive warning: it's an incorrect warning.

qjpeghandler.cpp:878:6: error: variable ‘s’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]

Change-Id: I42e7ef1a481840699a8dffff140681a3d7e34493
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-09-25 20:24:31 +00:00
Thiago Macieira ddee17e770 Remove QT_WARNING_DISABLE_GCC for Clang
There's QT_WARNING_DISABLE_CLANG for when a warning applies to a Clang
build.

Change-Id: I42e7ef1a481840699a8dffff1406ac36b6a6eac3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-09-25 20:24:20 +00:00
Takao Fujiwara 4954ad6dbc Qt IBus plugin connects to IBus Bus again if ibus-daemon does not run
Qt5 applications do not enable IBus when the applications are saved in
the session and launched automatically in the next login.
This patch checks the IBus socket path and connect to the bus when
it's available.

Task-number QTBUG-47657

Change-Id: I0883eaa2438fd27455da93f78f392ea3c1abe6b8
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-09-25 16:40:22 +00:00
Olivier Goffart 0f2da655ac Remove wrong forward declaration
It confuses auto complete

Change-Id: Ida86f6c8dcca351339d2b41ad40cf5701f5bb2c4
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-09-25 11:26:11 +00:00
Nico Vertriest 58664dbeb3 Doc: fixed links to qmake documentation
Task-number: QTBUG-43810
Change-Id: I56676d6f6f95ed79bd1719404b4e48c26490eea6
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-09-25 10:57:51 +00:00