Commit Graph

31809 Commits

Author SHA1 Message Date
Stig Bjørlykke
62e6aa6195 QVector: Avoid implicit conversion warnings
This fixes compiling an application using QVector and -Wshorten-64-to-32
on a 64-bit system without getting this warning:

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qvector.h:695:18:
 warning: implicit conversion loses integer precision: 'typename
 iterator_traits<QString *>::difference_type' (aka 'long') to 'int'
 [-Wshorten-64-to-32]
    int offset = std::distance(d->begin(), before);
        ~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qvector.h:731:35:
 warning: implicit conversion loses integer precision: 'long' to
 'const int' [-Wshorten-64-to-32]
    const int itemsToErase = aend - abegin;
              ~~~~~~~~~~~~   ~~~~~^~~~~~~~

 ... 5.8/clang_64/lib/QtCore.framework/Headers/qvector.h:740:39:
 warning: implicit conversion loses integer precision: 'long' to
 'const int' [-Wshorten-64-to-32]
    const int itemsUntouched = abegin - d->begin();
              ~~~~~~~~~~~~~~   ~~~~~~~^~~~~~~~~~~~

Change-Id: I52d85908f4aac20c7e9ac8063ac760ce52f85541
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-02 20:03:03 +00:00
Gabriel de Dietrich
f874b6e995 QBoxLayout: Remove unconventional try/catch blocks
These appear in insertSpacing() and insertWidget() only
and without any justification of why they may be needed.
Several other instances of the pattern these try/catch
blocks were guarding, i.e. allocate new QBoxLayoutItem
and insert to the list of items, were left unguarded,
leading us to believe this may not be useful at all and
can be safely removed.

Change-Id: I887fbde9d10e10f4f5daaa37f6f2892bd4038d58
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-02 18:19:20 +00:00
Olivier Goffart
1d9270ee42 Fix DPI of QWidget with parent on a different screen
If a floating QWidget has a parent on a different screen, its DPI was
still inherited from the parent instead of taken from the screen.

The only reason we did was in case there is a customDpi set.
(customDpi is a private thing that is only used in designer to change
the appearance of the previewed widget)

So instead of recursing into QWidget::metric for each ancestor, just
use a for loop to find if one parent has a customDpi. If no customDpi
is found, then return the DPI of the right screen.

Task-number: QTBUG-58959
Task-number: QTBUG-48242
Change-Id: Ie6e9e48cdd10234994c0919ba3aea9b0cdb52494
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-03-02 16:43:38 +00:00
Giuseppe D'Angelo
8cd99d24a8 QRegularExpression: build fix
Latest PCRE2 versions require a macro to be defined before
including pcre2.h, so do it.

Task-number: QTBUG-59226
Change-Id: I472ff557e29d1212fdcd99454778551323be4d4b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-02 16:25:17 +00:00
Lorenz Haas
7bfe093ae5 Fix possible use after free error in SQLite REGEXP
If the cache insertion fails, regexp is deleted and
"subject.contains(*regexp);" is UB.

Coverity-Id: 176868
Change-Id: Ibf9340e019f09fdb8b2a82de8877cdfb2ffe1372
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2017-03-02 16:08:24 +00:00
Olivier Goffart
2b13ba0ca0 Fix UB in QWidgetItemV2::~QWidgetItemV2
We might get there because 'wid' is already partially deleted (called
from ~QObject). In that case, it is an undefined behavior to call a
QWidget member function on it. Use QObjectPrivate::get instead.

Change-Id: I6da314bf8385684d1332aa031a2d92012941303b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-02 15:31:28 +00:00
Alexander Volkov
4428763001 xcb: Optimize QXcb{Screen,VirtualDesktop} for multi-monitor setup
Move non-monitor-specific members of QXcbScreen to QXcbVirtualDesktop:
they relate to an X screen rather than to a monitor.
It allows to save some memory and X server callings that were
previously made for each monitor.

Change-Id: I079cdec5f27ca93a2aade00c3040936a0e50b494
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2017-03-02 14:22:27 +00:00
Olivier Goffart
8387d87bdc QDialogButtonGroup: Fix removal of deleted buttons
As the destroyed() signal is emitted from ~QObject, it is not allowed
to use static_cast to a QAbstractButton on that pointer anymore.
And the qobject_cast will also fail which will keep a dangling pointer
in the hash.

Change-Id: If0d22fcc30cde87e771e70914c3afb04ea207289
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-02 10:42:55 +00:00
Liang Qi
71264bae08 Merge remote-tracking branch 'origin/5.9' into dev
Change-Id: I84097f8e7b3b2128028bd7693c913d6968b82bfe
2017-03-02 09:04:38 +01:00
Mitch Curtis
fef6819f5b Fix grammar in QIcon docs
Change-Id: I170662de5dde32a913acc5b681c2d2cefcb51a70
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-03-02 08:00:26 +00:00
Gerry Boland
87f8777b45 Mirclient: only enable if desired. Depend on content-hub>=0.2.0
Change-Id: I65050e7924b6f7564664e8f4c7270ddad5717336
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-03-02 08:00:06 +00:00
Eirik Aavitsland
c4c8886a86 ppm/pgm image formats: fix reading 16bit and limited range
The color values of ppm and pgm images can be either 8 or 16 bits.
They can also be scaled to a smaller max value, and they can be
expressed either binary or ascii. For some of these permutations, Qt's
image handler lacked implementation or would decode the wrong color
value. This commit fixes that.

Task-number: QTBUG-18262
Task-number: QTBUG-35990
Change-Id: I7cf11c2366244f3a9b31c1a565a81e2658bc6a51
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-02 07:59:50 +00:00
Eskil Abrahamsen Blomfeldt
6965b8a592 Fix crash for glyphs with height > 128
In fe97ecf408 we added support for
arbitrarily sized glyphs, since there is no guarantee that a glyph
will fit inside the em square. There was, however, a hardcoded max
size in the distance field generator, so for very tall glyphs we
could potentially get a crash.

[ChangeLog][QtGui][Text] Fixed crash for very tall glyphs

Task-number: QTBUG-57241
Change-Id: Id95c0f10d82a1294f7e7a51ac32e88a5a2e0a790
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2017-03-02 07:47:03 +00:00
Marc Mutz
593a707ba3 Remove unused QDBusConnectionPrivate::checkReplyForDelivery()
It's referenced nowhere, and wasn't even implemented.

Change-Id: I3c43c4733f82f98f2af451460270b519474be6ed
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-03-01 21:07:14 +00:00
Stephan Binner
e1b9ddc105 Add feature.scroller
Change-Id: I5313e1f5091d5764994525dae138e288e5125c59
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 19:41:49 +00:00
Olivier Goffart
b41492d53e Doc: Remove references to pre-C++11 recommendations
Compiler support for lambda functions and variadic templates is
required since Qt 5.7, so no need to mention in the documentation
what happens if the compiler doesn't support it.

Change-Id: I5caeaa0bd7f0edce81e22e22964e0b7dd042c719
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-01 19:30:10 +00:00
Laszlo Agocs
a43670a889 Fix malformed GL extension name for immutable storage
Change-Id: Ice2821d9d9523fa8cd446c009677378d52f61ad5
Task-number: QTBUG-59189
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2017-03-01 16:17:53 +00:00
Gatis Paeglis
1a5deb7e0e xcb: fix misuse of xcb_send_event
This fixes the following Valgrind warning:

"Syscall param writev(vector[...]) points to uninitialised byte(s)
Uninitialised value was created by a stack allocation"

The xcb_send_event() requires all events to have 32 bytes.
It calls memcpy() on the passed in event. If the passed in
event is less than 32 bytes, memcpy() reaches into unrelated
memory. And as it turns out, this behavior is actually
described in the xcb_send_event function's documentation.

This patch adds a macro that declares an event for safe
usage with xcb_send_event.

Change-Id: Ifcaab5e9a3b52b7f64ac930b423e0c7798bbfedb
Done-with: Uli Schlachter
Task-number: QTBUG-56518
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-03-01 15:15:18 +00:00
Marc Mutz
5e785c0b83 Add a string API symmetry test for mid/left/right
All good.

Change-Id: Iab278c24b4bd462d5e77af0c4f0fefb155d00551
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-03-01 13:40:12 +00:00
Paul Olav Tvete
07d4376e0d Build fix for -no-feature-datestring
Change-Id: If3b744e9f7e7761d02664b1a117e0540fabe8915
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 13:36:41 +00:00
Thiago Macieira
fe2ab724de tst_utf8: Fix one of the overlong sequences to be what we meant
C0 to DF take one continuation byte; E0 to EF take two.

It's invalid UTF-8 anyway, but at least this is what the test row meant:
overlong sequence with 3 bytes of what should have been two.

This updates the comment to match the character that we were actually
testing.

Change-Id: I85a8bd6da2c44f52b4e3fffd14a75df2600487aa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-03-01 12:27:17 +00:00
Mathias Hasselmann
0d34f0c9df Android: Allow timeout to fade out splash screen
Change-Id: I7b24f4d402da7f74b4c983467008ff4c19fc3b1b
Task-number: QTBUG-59200
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-03-01 09:15:14 +00:00
Paul Olav Tvete
06a3ac2671 Fix build with -no-feature-tabbar
Change-Id: I7b692f5308efa92da8c2101e07e9a803c6c69d99
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:28 +00:00
Paul Olav Tvete
369876ee06 Build fix for -no-feature-regularexpression
Change-Id: I34f23c0cdc269d8a3acf1e09553ba2604e142736
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:25 +00:00
Paul Olav Tvete
432fd5a5af Make VNC a proper feature
Change-Id: Iffae3f4d77f46bbf7ac38e7c9bc916f060606dd9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:23 +00:00
Paul Olav Tvete
1399cacb6b Fix build with -no-feature-cursor
Change-Id: I971dbe7827adf0cf06337348a0d011632c364725
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:19 +00:00
Paul Olav Tvete
0684f28984 Build fix for xmlstreamreader/writer features
Change-Id: Icb3a998716c8816e244634e21911a7384078978e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:17 +00:00
Paul Olav Tvete
e97d6fd52c Build fix for -no-feature-action
Change-Id: I62291af347dca7c1bb4a53d2cb698e4f1a38743d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:14 +00:00
Paul Olav Tvete
782e1caa9f Fix build with -no-feature-tabletevent
Change-Id: I5f16db38a3a54acaa76f764b9d4d7167640587c9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:11 +00:00
Paul Olav Tvete
40837c42a5 Build fix for -no-feature-validator
Change-Id: I385ce6e37611b7ba32503ef5d041628dd764fe23
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:08 +00:00
Paul Olav Tvete
a16b6e29e0 Fix build with -no-feature-draganddrop
Change-Id: If537cb6b7d41b2d6511c369451dde2e9289f724d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:01:04 +00:00
Paul Olav Tvete
410d9cabb7 Build fix for -no-feature-validator
Change-Id: I884381964d692eb5d3eb9088c87779c03057981d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:00:59 +00:00
Paul Olav Tvete
a58dafd2e8 Build fix for -no-feature-imageformat_xpm
Change-Id: I081fdfb622f21fc63a72e153d4d6c7120107ba67
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 09:00:55 +00:00
Simon Hausmann
d83a20af1d Improve time stamp precision of qmake's touch function
On POSIX compliant platforms, the default precision we apply to
preserving time stamps is seconds. However we can do better and use
utimensat() - if available - to increase the precision to nanoseconds.
The values are provided by statbuf's st_mtim. This is guarded for
compatibility with older systems, similar to commit
494ced1329.

Change-Id: I6928660230d84f8511bf0f58e268906d2e575e04
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-03-01 05:19:56 +00:00
Stephan Binner
104408f3da Add feature.commandlinkbutton
Change-Id: I057ed507552c74a787e5bcdaa28a18c667eecd43
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-03-01 00:24:10 +00:00
Stephan Binner
5a3029fbf1 File dialog does not require features.tooltip
Also rewrite condition as block

Change-Id: Ife0086def80f1806c38dad822265fddf7ca0690b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-03-01 00:24:02 +00:00
Allan Sandfeld Jensen
eae8afa571 Add AVX2 optimized bilinear texture transform
Implement AVX2 versions of the three optimized paths of bilinear
texture transform.

Change-Id: Ie7199ef7dcce1e3457535fee35822d76afc0e8ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-28 22:54:59 +00:00
Jake Petroules
8d0b46c3ae Remove more tight coupling between QMdiSubWindow and QMacStyle
This technically just changes a compile time check to a run time check
and better options should be explored later, but it removes the compile
time dependency for now.

Change-Id: I58c5599baf2c338e88bd558a82093835124d6f67
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-02-28 19:21:53 +00:00
Jake Petroules
6ed4ff2535 Remove unused references to QMacStyle headers
Change-Id: If7b84e3b8a0a8682d031e7a1ebf066feedf6a97c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2017-02-28 19:21:47 +00:00
Kai Koehne
6d10f739cd evdevtouch: Replace LPGL21 with LGPL license header
Also use caonical contact url.

Change-Id: Ic229623b0bcb533a9801890347802469c9c53c59
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-28 15:35:02 +00:00
Kai Koehne
7392985a5c XCB: Replace LGPL21 with LGPL license header
Also use canonical contact url.

Change-Id: I6976dd6e2898d1c80260b08a8257f2848b4b7b6c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-28 15:34:58 +00:00
Kai Koehne
a244636817 Windows QPA: Replace LGP21 with LGPL license header
Also use canonical contact url.

Change-Id: I58c7f5309883fa775d1bf7b56692e4c237a3f5a4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-02-28 15:34:46 +00:00
Kai Koehne
3ea8102343 Integrity plugin: Replace LGPL21 with LGPL license header
Also use canonical contact url.

Change-Id: I7faf9b329f4dd2c2a422d02e171bc2d39c359ed3
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2017-02-28 15:34:40 +00:00
Kai Koehne
5590d84062 bsdfb plugin: Replace LGPL21 with LGPL license header
Also use canonical contact url.

Change-Id: Iaf22c48d0a548efaccd816132e8730cbb6e0bb5d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-02-28 15:34:35 +00:00
Kai Koehne
2ef1d48be7 IOS: Replace LGPL21 with LGPL license header
Also use canonical contact url.

Change-Id: Id1d8328e6cc9aab82a30e0ee3a971e6935341b42
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-02-28 15:34:27 +00:00
Kai Koehne
13d3e05e3b pcre2: Replace LGPL21 with LGPL license header
Also use canonical contact url.

Change-Id: I61bf0990698a7021f1240deaf3eef2aff8f90a7e
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-28 15:34:20 +00:00
Kai Koehne
58cf57492c Widgets: Replace LGPL21 with LGPL license header
Also use canonical contact url.

Change-Id: I59ed3d09d2fee877a577a00e7e1cb09782d26512
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-28 15:34:14 +00:00
Kai Koehne
a64c766a3d Network: Use canonical license headers
Replace outdated LGPL21 with LGPL license header.
Use GPL-EXCEPT for all autotests.
Also use canonical contact url.

Change-Id: I6e5cc8a4285569c4f862730a980f492b8a933a72
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2017-02-28 15:34:01 +00:00
Kai Koehne
a62d8ab993 Doc: Use canonical contact URL in license header
Change-Id: I34821150f66255df30d12572b27779e0e729ebc8
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-02-28 15:33:49 +00:00
Jason Erb
9c7ef72c87 Fix registry function link error on Windows
Added library required by registry functions called by
QWindowsFontDatabase::readRegistryString.

Task-number:  QTBUG-59160
Change-Id: I8f6beee3cff4443c56bd835021d15122867e76e3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-02-28 15:08:00 +00:00