Commit Graph

22614 Commits

Author SHA1 Message Date
Andrew Knight
b16e738044 Fix warning from MinGW/GCC 6.2
src/widgets/styles/qwindowsvistastyle.cpp: In member function 'virtual QSize QWindowsVistaStyle::sizeFromContents(QStyle::ContentsType, const QStyleOption*, const QSize&, const QWidget*) const':
src/widgets/styles/qwindowsvistastyle.cpp:1872:9: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
         if (!sz.isEmpty())
         ^~
src/widgets/styles/qwindowsvistastyle.cpp:1874:13: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
             return sz;

Change-Id: Ifd3faef8c93f12d5fadaf4edf875fbe0fc6fb785
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-12-28 06:13:57 +00:00
André Klitzing
0f5687280e Fix typo in documentation
Change-Id: I86584392f2646e87f26bf6de725802e5c6a6c6e0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-27 12:16:41 +00:00
David Faure
6722147696 QMimeDatabase: fix handling of conflicting globs
This code always intended to follow the recommended checking order from
the spec, which says "if multiple globs match, use file contents".
But if the globs had different weights, it would discard globs with
lower weights, and then wrongly conclude, if there is only one glob
left, that there was no ambiguity.

The correct way is rather: remember that multiple globs matched,
do determination from contents, and if that didn't work, *then* use
(one of) the highest-weight glob(s).

This fixes PGP-encrypted *.asc files being detected as text/plain rather
than application/pgp-encrypted.
(https://bugs.kde.org/show_bug.cgi?id=346754)

Change-Id: I734459daf9f502baa95ebb89432819964e0ce304
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-27 11:33:03 +00:00
David Faure
f163912b5d QMimeMagicRule: endianness fixes
* apply endianness to the mask as well
* do not apply endianness to "host" entries, they were wrongly behaving
exactly like "big endian" entries.

The issue with the mask was detected by the audio/aac magic
 <match type="big16" value="0xFFF0" mask="0xFFF6" offset="0"/>
which failed to identify the test file ct_faac-adts.aac since it was
applying the mask 0xFFF6 instead of 0xF6FF (on a little-endian machine).

Not yet detected by tst_qmimedatabase which is based on shared-mime-info 1.0,
will be covered by the upgrade to 1.8 in dev.

Change-Id: I4fb7af2d367099817e712b14f2a031066d0ac432
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-27 11:28:55 +00:00
David Faure
7322c65ba7 QMimeMagicRule: fix off by one in the number of bytes checked
Since the loop says p <= e, no +1 should be added to e.

Testcase:

The magic for application/x-gameboy-rom says
<match type="byte" value="0x0" mask="0x80" offset="323"/>
and this code was checking both byte 323 and byte 324, finding a match
at pos 324, returning application/x-gameboy-rom erroneously.

Given the magic for application/x-gameboy-color-rom:
<match type="byte" value="0x80" mask="0x80" offset="323"/>
the expected result for game-boy-color-test.gbc is application/x-gameboy-color-rom

Not yet detected by tst_qmimedatabase which is based on shared-mime-info 1.0,
will be covered by the upgrade to 1.8.

Change-Id: I2396cb1ccfb26db5a24d5551fef493cc0b98a247
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-27 08:44:32 +00:00
Konstantin Ritt
ab732e3b2f Optimize QtActivity's onCreate a little bit
Change-Id: Iabb0f561d99f363dfe1dc206b3ad3e8f1a1d04c0
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2016-12-25 04:14:58 +00:00
Oswald Buddenhagen
8f49da6c18 ... and so configureapp.exe disappeareth
Change-Id: I3fd9f2b0d4cf05a625484fce21532da8563cd62c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-23 13:45:59 +00:00
Alexander Volkov
49f1b667fa platform plugins: Remove unused former overriders
They were implied to override QPlatformIntegrationPlugin::keys()
but it was removed before releasing Qt 5.0.

Change-Id: Ia1f1ad27b7511b1141887f5dcde0dadeb2e5cabf
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2016-12-22 23:02:45 +00:00
Oswald Buddenhagen
a71b53d600 fix sysrootification of install paths
initially, the idea was that QLibraryInfo would receive a
pre-sysrootified ExtPrefix from the builtin qt.conf. matching this
against the sysroot would then tell us whether to sysrootify the Prefix
from a "regular" qt.conf as well.
however, this would have lead to some major ugliness and inconsistency
between the code paths, so i changed my mind.
unfortunately, i failed to adjust the remaining code, leading to
169a40d51 entirely breaking sysrootification ...

the proper (and nicely consistent) solution is to introduce a
SysrootifyPrefix key to qt.conf. this is user-accessible as well, so as
a bonus it is now possible to adjust the setting at qmake installation
time. incidentally, this omission was the last thing that prevented
using the same qmake host build for any imaginable configuration of the
same qt version ... i think.

Change-Id: Ic0eebf21f93651f6374628c0ad8b206d696a4a7e
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2016-12-22 11:48:05 +00:00
Allan Sandfeld Jensen
674430cea0 Silence maybe_uninitialized warning with gcc -Og
GCC produces false positives for maybe_uninitialized when compiling with
-Og in these three places. Simply initialize the variables to silence
it. This should be entirely cost-free for normal compilation.

Change-Id: Iab778a6ba25993f78f190e928c1fcc2dbd8b2fcd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-21 22:08:01 +00:00
Tor Arne Vestbø
8533c94a24 macOS: Take DPR into account when creating CGContexts for a QPixmap
Missing logic when refactoring image manipulation methods into QtGui
in c52bb03090.

Task-number: QTBUG-57723
Change-Id: I7b55d4451d35faf5fd794daa0b80acbd712f30cd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2016-12-21 16:18:13 +00:00
David Faure
b9edbb5d54 QLockFile: make sure we encode the hostname as UTF-8 in the lock file
We chose to use UTF-8 as it allows us to ensure there's no mistaking the
hostname in case the locale is changed, if the host name contains
characters outside of US-ASCII.

But this didn't work because the code that wrote the hostname always
used the local 8-bit codec instead of UTF-8. On Unix, we used the
result of gethostname(3) directly, which is supposedly on the locale codec.
This commit doesn't fix Windows, which requires _wgetenv, the plan being
to encapsulate that with a qEnvironmentVariable() method.

[ChangeLog][QtCore][QLockFile] Fixed a bug that caused QLockFile not to
recognize a stale lock file if the machine's hostname contained non-US-
ASCII characters, on Unix. A Windows fix is still pending.

Task-number: QTBUG-49640
Change-Id: Ib9d045544ff370ec901626658a84ec4e6575fe21
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-21 15:57:40 +00:00
Stephen Kelly
baad82d242 QIPM: Persist model indexes after emitting layoutChange, not before
Callers can persist a QModelIndex which was not persisted before in a
slot connected to the signal, and such a persisted index must be updated
in the course of the layoutChange.

Store the indexes to persist after emitting the signal.

Task-number: QTBUG-32981
Change-Id: Ibee4c0d84817d72603a03fe5b22fdeefeac0695e
Reviewed-by: David Faure <david.faure@kdab.com>
2016-12-21 01:37:50 +00:00
Stephen Kelly
0874861bcc QSFPM: Remove data manipulation from move handlers
Similar to the fix in the parent commit, incorrect updating of the
internal data structures during layout changes can lead to dangling
pointers being dereferenced later.  Moves are treated as layoutChanges
by this proxy by forwarding to the appropriate method.  However, data is
incorrectly cleared prior to that forwarding.  Remove that, and let the
layoutChange handling take appropriate action.

Change-Id: Iee951e37152328a4e6a5fb8e5385c32a2fe4c0bd
Reviewed-by: David Faure <david.faure@kdab.com>
2016-12-21 01:37:40 +00:00
Stephen Kelly
3bd0fd8f97 QSFPM: Fix handling of source model layout change
In sourceLayoutAboutToBeChanged the source model update is ignored if
the affected parents are filtered out anyway.  The same logic is
attempted in the sourceLayoutChanged slot, but there the early-return
logic is applied too late - the mapping is cleared before performing the
early-return.  Because pointers into the mapping are used in the
internalPointer of QModelIndexes in this class, persistent indexes used
later will segfault when attempting to dereference it.

Additionally, if a parent becomes invalid as a result of the
layoutChange, it would be filtered out by the condition in the loop,
resulting in a different result in the comparison of emptiness of the
parents container.

Fix that by persisting the parent's container, and performing the test
for early-return before clearing the mapping.

Task-number: QTBUG-47711
Task-number: QTBUG-32981
Change-Id: If45e8a1c97d39454160f52041bc9ae7e337dce97
Reviewed-by: David Faure <david.faure@kdab.com>
2016-12-21 01:37:31 +00:00
Samuel Gaist
1274a7e419 Doc: Updated code sample to match documentation of QCompleter
The QCompleter documentation mentions QFileSystemModel while the code
sample still uses QDirModel. This patch fixes this by updating the code
sample.

Change-Id: I99a0d2419efcf781af3e9530508df088d77fbbfa
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2016-12-20 21:28:37 +00:00
Allan Sandfeld Jensen
bee9a78e13 Avoid using QRgba64 for buffers
Benchmarking showed most time rendering in rgb64 mode was spend on
memsetting the buffers because they were not declared with a primitive
type.

This patch changes the buffers to quint64, but leaves refactoring
function arguments to a later patch in the dev branch.

Change-Id: Iacc81b0d8e9570b1975dffb85c955b0aabb096a7
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2016-12-20 14:56:16 +00:00
Oswald Buddenhagen
20fd99d863 fix typos in "ras[p]berry pi"
Change-Id: I2d8910df9266d9cbf2426e5f2ba2a88eb2e821ef
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-12-20 10:16:44 +00:00
Allan Sandfeld Jensen
6614f7754c Silence implicit-fallthough warnings
Fixes Werror build with GCC 7.

Change-Id: Ie0e9fb907af545b6c200558faaaf83b8ec058b7a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-12-19 09:35:57 +00:00
Stephen Kelly
7adfe7494b Update model-view documentation about layoutChanged
This has always been true, but hasn't been documented well enough, so
triagers are giving incorrect information in bug reports (eg QTBUG-47711
and QTBUG-53221). That incorrect information is being treated as truth
by Qt users which take action based on incorrect information. That is a
problem, so try to make the documentation clear.

Change-Id: I4e44a9a0675cdd7d9289ec209ae32d5a92899fc9
Reviewed-by: David Faure <david.faure@kdab.com>
2016-12-18 21:34:36 +00:00
Thiago Macieira
7c402ad3d1 Make the bearer QFactoryLoader a member variable, not a static
Because it was a function-level static, the QFactoryLoader was getting
destroyed out-of-sync with the bearer thread stopping. Under normal
conditions, the thread stopped first (~QApplication / ~QCoreApplication
via qAddPostRoutine), and the static got destroyed when the process
exited. However, if QApplication leaked or if the destruction order is
wonky (as seen in PyQt5), the thread could still be running when the
plugins were already unloaded.

With the loader a member variable, it gets destroyed when the thread
stops.

Note: in Qt 5.7, QFactoryLoader no longer unloads the plugins (since
commit 494376f980), so this crash cannot
happen in that version.

[ChangeLog][QtNetwork][Bearer management] Fixed a bug that could cause a
crash on application exit, depending on the order of destruction of the
QCoreApplication object and the QtDBus manager thread.

Task-number: QTBUG-56228
Task-number: QTBUG-52988
Change-Id: I33dc971f005a4848bb8ffffd147853376f82de2a
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-12-17 04:11:13 +00:00
Thiago Macieira
c7b0f56fb1 Fix build on Windows: winsock2.h requires WIN32_LEAN_AND_MEAN
This is required for the next commit.

Change-Id: I73fa1e59a4844c43a109fffd148c8c3e3a100c79
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-12-17 04:11:10 +00:00
Thiago Macieira
7ca66b1e66 Fix race condition in QFactoryLoader: lock the mutex we already have
The process of loading a plugin is examplified by the qLoadPlugin
function (though not all users of QFactoryLoader use this function, they
all do something similar):

    const int index = loader->indexOf(key);
    if (index != -1) {
        QObject *factoryObject = loader->instance(index);
        if (FactoryInterface *factory = qobject_cast<FactoryInterface *>(factoryObject))
            if (PluginInterface *result = factory->create(key, std::forward<Args>(args)...))
                return result;
    }

QFactoryLoader::indexOf already locked the mutex, but not
QFactoryLoader::instance. This commit fixes that.

Note that calling the virtual create() in the plugin's factory is not
protected by the mutex. Each plugin's factory must be thread-safe and
also create an object that works on any thread too. It's also the
responsibility of the caller of qLoadPlugin to ensure that it's called
thread-safely.

Task-number: QTBUG-42855
Change-Id: I63e21df51c7448bc8b5ffffd148ebee33d4c47de
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-17 04:11:09 +00:00
Peter Varga
8325808dcf QTestLib: Add timestamp to mouse click events
Timestamp is necessary for testing custom mouse event handlers e.g. what
Qt WebEngine uses for handling triple and quadruple mouse clicks.

Based on commit 181ee8f9ff

Task-number: QTBUG-56223
Change-Id: I2bf840f326255333eec83ca8c42f087cb7deb1fb
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2016-12-16 19:18:07 +00:00
Liang Qi
9bfe3ab71e Merge remote-tracking branch 'origin/5.8.0' into 5.8
Conflicts:
	doc/global/qt-cpp-defines.qdocconf
	src/plugins/platforms/android/qandroidplatformopenglcontext.h
	src/plugins/platforms/android/qandroidplatformtheme.h

Change-Id: I13d51cc66f708138ff4d667ceea7d515992e58a4
2016-12-16 09:45:16 +01:00
Laszlo Agocs
179045f36a Silence platformheaders syncqt warning about qt_egl_p.h
Drop the include for qt_egl_p.h. For Qt itself this should have no effect
since platform plugins including this header include EGL headers on their
own anyway.

Similarly, applications relying on such advanced functionality will likely
include EGL/OpenGL headers on their own - the point is anyhow to interoperate
with native, non-Qt EGL and GL code.

This avoids a lot of hassle since normally no EGL (or other winsys interface
API) bits are exposed in the public Qt APIs, and thus there are no public
headers provided to set up EGL headers in the same way Qt does internally.

Change-Id: Icdbc28811b753799abc06085bc8dff7f09bdbff9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-16 04:07:22 +00:00
Oswald Buddenhagen
21f283b0f0 fix directfb build without EGL
Task-number: QTBUG-57176
Change-Id: I174828e0657e244b060df6223650091a06ecd980
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-12-16 04:06:58 +00:00
Gabriel de Dietrich
2a44f81fe7 QCocoMenu: Fix patch b2f78b796b
A null pointer check was accidentally removed while
refactoring the code.

Change-Id: I547936671bd134bb7df710a4b123a0d731076bf2
Task-number: QTCREATORBUG-17438
Task-number: QTBUG-57404
Task-number: QTBUG-57657
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2016-12-16 04:06:39 +00:00
Thiago Macieira
9f96e4f431 Work around old Clang bug parsing of NSDMI referring to members
Clang pre-3.4 didn't like this and it's used in Xcode 5.1 (which we need
to support for 5.8).

error: 'this' cannot be implicitly captured in this context
    typename T::const_iterator i = c.begin(), e = c.end();
                                   ^

Task-number: QTBUG-57488
Change-Id: I63e21df51c7448bc8b5ffffd148e688d7c9b89d6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-16 04:05:56 +00:00
Aleksey Lysenko
28dffdecda Delete aborted QDrag
Aborted QDrag object has never been removed, moreover there was no way
to know a previous drag-and-drop operation status

Task-number: QTBUG-53990
Change-Id: I2b6a7aad86d94b9d5083f9799fe54752c251660b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-15 19:22:53 +00:00
Sergio Martins
7797c13131 QDockWidgetGroupWindow now honors custom title bar
When you change tab it will loose or gain native window decos
depending on if the current dock widget has them or not.

Change-Id: I1171f43fa5ee897ce7d695fc447255dcb0d1d5a1
Task-Id: QTBUG-56866
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-12-15 15:37:00 +00:00
Paul Olav Tvete
f9b1ec2d79 Touch fix for popups blocked by modal dialog
Don't block the event that Qt depends on to close popups.

This is the same fix as 5b65698248,
but for touch this time.

Task-number: QTBUG-57292
Change-Id: I47bc19883c2e2b5dc9615c12dc6c198193c055cf
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-12-15 14:08:27 +00:00
Thiago Macieira
d8b678661b Re-fix build error with ICC 17 on Windows
This is a repeat of ae880beb7d, which had
fixed the problem for ICC 16. That commit was a repeat of
acf80b9a2b, which had fixed it for ICC 15.

As reported in ae880beb7, ICC doesn't like polymorphic exported classes
with inline constructors. That commit added the default constructor, but
we forgot the copy constructor. This constructor should have been
protected, so users are forced to use the virtual clone() function, but
we can't make it so in Qt 5 because MSVC encodes the protection and has
exported the inline function in debug builds.

qsvgiconengine.obj : error LNK2001: unresolved external symbol "const QIconEngine::`vftable'" (??_7QIconEngine@@6)

Change-Id: I427336c52fc342638c74fffd149033b990ea7ade
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-15 12:52:20 +00:00
BogDan Vatra
104854708c Update Ministro's url
Task-number: QTBUG-57645
Change-Id: I014b1926c9b91e085baa5df563dc4cc06fe0596c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-12-15 12:52:09 +00:00
Eskil Abrahamsen Blomfeldt
3a9801d568 doc: Specify which characters are replaced by toPlainText()
Some formatting characters are replaced by ASCII in the output
from toPlainText(). Since this is a bit inconsistent, we should
document it.

Task-number: QTBUG-57552
Change-Id: I46033588d37517056a8d4668d1d16d48c72ee1b5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-15 08:12:15 +00:00
Oliver Wolff
56a167d30c winrt: Check for removed timers after sending events
After all the check makes sense here. If a timer was removed as a result
of sendEvent and it was not at the end of the list the list is not
shrunk but the timer info's id is just set to INVALID_TIMER_ID.

Additionally the timer's object should be fetched before we unlock the
locker as timerIdToObject is changed in removeTimer and we might access
a nullptr if the timer has been removed.

Reverts c83ba01f7b

Task-number: QTBUG-56756
Change-Id: Ib1a04c02fbfcf4c939b4891d42f954dc9e87149e
(cherry picked from commit 8f2088db17)
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-12-15 05:20:45 +00:00
Topi Reinio
cfbe5df48c qdoc: Define Q_COMPILER_UNICODE_STRINGS
Some public functions in QString and QDebug are declared inside
Q_COMPILER_UNICODE_STRINGS. This commit defines it for QDoc, and
adds documentation for QDebug functions that are now visible to
QDoc.

Change-Id: Ia7f2501c1dc7b8244dcc3ce4adcd2019fdbffcb6
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-15 05:20:24 +00:00
James McDonnell
b08bdfb2e4 Fix qtlibpng being built despite system libpng being found
90eee08b made system-png a subset of png, which is strictly speaking a
porting error. However, as this is a good idea as such, fix it by adding
the missing !system-png check.

Change-Id: I1557a2130a22ac668be315dc9aea67845928ff4c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2016-12-15 05:19:56 +00:00
Alexander Volkov
b57e7c0963 doc: Replace Q_DECL_OVERRIDE by override in snippets
And remove redundant virtual.

Change-Id: If0650409b88ad962f6713d082d9095675f4c68e8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2016-12-14 16:49:23 +00:00
Christian Strømme
87e553b58a Android: Fix the bearer management plugin when running as a service
Since Qt for Android now supports running as a service, we shouldn't
use the activity context unconditionally, but instead query the current
context from QtAndroidPrivate::context().

Change-Id: Ib793ba890fdbfc0cfe7b20115e41ff64cc73477a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-12-14 15:08:11 +00:00
Ulf Hermann
1f665efa91 Q_CHECK_PTR the result of QDataBuffer's allocations
We might run out of memory or malloc() or realloc() might fail for any
other reason. We want to crash cleanly with a clear message in that
case, rather than returning a null pointer.

Change-Id: If09c1b9e905fc60a5d9d45e598a418df433cf83b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-14 14:33:11 +00:00
Thiago Macieira
5556308cbf MySQL: Make sure we clean the libraries from mysql_config
It prints libraries necessary for linking against the MySQL static
library. When linking against dynamic libraries, we end up with too many
parameters. We don't want to explicitly link our plugin to OpenSSL and
this is especially important on macOS since Sierra no longer comes with
OpenSSL development files.

On my Linux:
  -L/usr/lib64 -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl

On my macOS:
  -L/usr/local/Cellar/mysql/5.7.16/lib -lmysqlclient -lssl -lcrypto

Instead, keep only -L options (that haven't been removed by the function
$$filterLibraryPath above) and the actual client library.

Change-Id: I3e3f0326f7234a26acf5fffd148fa985d0fd9c93
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-12-14 13:29:57 +00:00
Friedemann Kleint
1d68e3386d eglfs/deviceintegration: Ensure eglfs_kms_support is added only once
Use qmake operator *= to prevent adding it multiple times resulting
in warnings on Linux/Desktop:

Makefile:114: warning: overriding recipe for target 'sub-eglfs_kms_support-qmake_all'
Makefile:64: warning: ignoring old recipe for target 'sub-eglfs_kms_support-qmake_all'
Makefile:118: warning: overriding recipe for target 'sub-eglfs_kms_support'
...

Change-Id: I18a926c9faeb8f9eafea5223d32c526c06c43724
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-12-14 13:06:41 +00:00
Thiago Macieira
f92cfab225 Silence warning about non-void function without return value
Q_UNREACHABLE() isn't enough for some compilers, especially if it
expands to nothing.

warning #1011: missing return statement at end of non-void function "fetchPixel<bpp>(const uchar={unsigned char} *, int) [with bpp=QPixelLayout::BPPNone]"

Change-Id: I3e3f0326f7234a26acf5fffd148fecf0b72ea7e0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2016-12-14 04:57:40 +00:00
Oswald Buddenhagen
169a40d511 move generation of qconfig.cpp (and qt.conf) to qmake-based configure
this moves us another step towards the "outer" configure doing just
minimal bootstrapping of qmake.

a challenge here was that so far, qmake itself needed qconfig.cpp. this
was replaced by usage of a qt.conf file instead of compiled-in values.
however, to make the executable still self-contained, that qt.conf is
embedded into it (by simple appending of a fixed signature and the text
file).

the qmake with the embedded qt.conf is not used for the qt build itself,
which instead relies on the qt.conf in bin/ as before. however, due to
the missing built-in values, this file now needs to contain more
information than before. but except for a minimal version that is needed
to start up qmake/configure at all, that file is now also generated with
qmake. as some of the newly set up properties are subsequently used by
configure itself, qmake gains a (deliberately undocumented) function to
reload the qt.conf after it's fully populated.

unlike the old implementations, this one doesn't emit redundant qt.conf
entries which match the hard-coded fallbacks. omitting them leads to
leaner files which are more comprehensible.

Started-by: Paolo Angelelli <paolo.angelelli@qt.io>
Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-12-13 18:56:12 +00:00
Paul Olav Tvete
c0842aceaf Make size grip work with high dpi scaling
Task-number: QTBUG-53389
Change-Id: I6e922f0555ae296f3152d4df2598534fa73fb584
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-12-13 14:48:30 +00:00
BogDan Vatra
36e4b13e29 Android: fix (partially) text deletion when the cursor is moved
- wait until the handle location changes the cursor position
- don't update cursor position if:
 * a batchEdit is in progress
 * the UpdateSelection is blocked
- finish the composing before update the cursor
- add the missing .java files

There are still corner situations when the text gets deleted/moved, but
those are pretty rare and they will be fix in another patch.

Task-number: QTBUG-57507
Change-Id: I230d7f64625fb556e1be3069694a71e9bc91323a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2016-12-13 05:14:40 +00:00
Allan Sandfeld Jensen
bb0f29f82b Fix gcc 6.4 builds
The builtins clzs and ctzs have been removed. Additionally they were
never proper internal GCC builtins and shouldn't have been used in a
constexpr function in the first place. This patch removes the assumption
that they exist when BMI is available, and let GCC fall back to using
__builtin_clz and __builtin_ctz.

Change-Id: I3e0b4e246098bb9ce6ede28b311948260ef881b9
Task-number: QTBUG-56813
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-13 05:14:32 +00:00
Lambert Duijst
00c9ec63a5 Fix for horizontal scrollbars
Horizontal scrollbars scroll in the wrong direction when the app
has a stylesheet and the LayoutDirection is RightToLeft.

Change-Id: I860cb733709e8d59a7b844f2b6ed1ee63410956e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-12-13 00:42:09 +00:00
Nico Vertriest
ee7a5a94f9 Doc: added spec about parameter enable
Err: Undocumented parameter 'enable' in QNetworkProxyFactory::setUseSystemConfiguration()
Err: no such parameter 'editable' in QComboBox::setCompleter()

Change-Id: Ib27b93cf74e97efd656eda1265003f33c6802005
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2016-12-12 14:43:34 +00:00