Commit Graph

26099 Commits (191858abe8cd2681f8f4e9de47819829bf1eaebb)

Author SHA1 Message Date
Friedemann Kleint 191858abe8 QMainWindowLayout::unplug(): Prevent unplugging when the widget is not a window.
Task-number: QTBUG-50490
Change-Id: Icf02e2316bbad0794bd5ac6dccd857bfb28a498b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-20 13:25:57 +00:00
Kevin Funk 8dad3bf212 Fix toDisplayString(QUrl::PreferLocalFile) on Win
When using QUrl::PreferLocalFile we do want to strip the leading slash,
as toLocalFile() would do as well.

Behavior change by means of an example:
  QUrl url(QUrl::fromLocalFile("C:/file.txt")
  url.toLocalFile() --> "C:/file.txt"

Before:
  url.toDisplayString(QUrl::PreferLocalFile) --> "/C:/file.txt"

After:
  url.toDisplayString(QUrl::PreferLocalFile) --> "C:/file.txt"

Task-number: QTBUG-41729
Change-Id: I7d425541f6077ebcf3fcf46feeb7e0f03a0d7fe2
Reviewed-by: Dominik Haumann <dhaumann@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-20 13:24:53 +00:00
Timur Pocheptsov b530ca770f tst_qtextcocumentlayout::blockVisibility - make the test more robust
The test inserts strings "0" ... "9" into the text document,
takes the half of resulting document's size, makes half of
lines invisible and compares sizes. On OS X 10.11 after inserting
"4" the width changes, so making "4" invisible also reduces the width
and QCOMPARE(currentSize, previosHalfSize) fails. Instead of digits,
insert the same string "A" 10 times.

Change-Id: Ie88a0442703f98949cea9bcdb694cecee59695f3
Task-number: QTBUG-49848
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-01-19 14:48:47 +00:00
Topi Reinio 3d82b74c3a Doc: Fix return type of QWeakPointer assignment operators
Imprementation of QWeakPointer assign operators have return types
that are references. However, in qsharedpointer.h where separate
declarations are held for documentation purposes, the reference
qualifiers were missing. This led to incorrect documentation being
generated.

Task-number: QTBUG-49862
Change-Id: I32727762826feb15a3f4f22446e51d2df16e605f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-01-19 14:14:57 +00:00
Eskil Abrahamsen Blomfeldt b9bd83c9c2 Fix transformed text with DirectWrite engine
This is a port of f54c5d9133d7aa7636988db36fa6cc51d26434b6
from Qt 4.8 which was lost in the transition to Qt 5. It makes sure
we use the correct bounding box for the transformed glyph by
getting from DirectWrite itself.

[ChangeLog][Windows] Fixed transformed text when using the
DirectWrite font engine.

Task-number: QTBUG-50009
Change-Id: I416ab64253165b878af6b9837348134fede8092e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-19 08:29:55 +00:00
Tor Arne Vestbø 30bff91c39 OS X: Ensure system tray icon is prepared even when menu bar is hidden
On OS X 10.11 (El Capitan) the system menu bar can be automatically
hidden, in which case the menu bar height is reported to be 0 when
using the menuBarHeight API.

This resulted in failing to prepare an image for the system tray
icon item, making the tray item "invisible".

Instead we now use the [[NSStatusBar systemStatusBar] thickness]
API, which returns the correct height regardless of the menu bar
being hidden or not.

Task-number: QTBUG-48960
Change-Id: I208fb8df13754964a6f254cadfbff06dd56c6bab
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2016-01-19 07:22:35 +00:00
Błażej Szczygieł 465e93aa95 QtWidgets: Improve native and top-level OpenGL widget performance
Since 7c6625b105 native OpenGL widgets
are able to render, but performance is very low.  It also slows down
rendering for top-level OpenGL widgets.

Render-to-texture widgets prevent triggering unnecessary backingstore
painting when only the OpenGL content changes.
This patch makes possible to use that feature for native and top-level
widgets by calling "markDirtyOnScreen()" function only when necessary.

This patch also prevents native and top-level OpenGL widgets from
flickering during resizing.

Task-number: QTBUG-50381
Task-number: QTBUG-49620
Change-Id: I0c16ea644fb869a00772fd74e1709611e627bff3
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-01-18 18:30:23 +00:00
Tobias Koenig a87dfdb196 WinCE: Build accessibility support on WinCE7
Build the QPlatformAccessibility support on WinCE7, so
that QtQuickControls, which depend on the availability of
QPlatformAccessibility, can be used on WinCE7 as well.

Change-Id: Ice7370b891a2963483bbfe1af8b219717541e64b
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2016-01-18 16:41:15 +00:00
Joerg Bornemann c60e06e087 Support precompiled header files without file extension in VS projects
Having a precompiled header file without file extension (or without
common file extension) led to an incorrectly generated Visual
Studio project file. The custom build step for automatically
generating the corresponding source file was missing.
  Remove the file extension check that apparently was yet another
feeble attempt of runtime optimization.

Task-number: QTBUG-50442
Change-Id: I0552f94be12cbb70e2f32c242c7364699979bd81
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-18 16:06:46 +00:00
Alexander Volkov 9eba208445 Center QPrintPropertiesDialog on top of its parent
Remove QPrintPropertiesDialog::showEvent(). It just accepts
QShowEvent, it makes no sense. At the same time this method
overrides QDialog::showEvent(), which centers dialogs.

Change-Id: I11510feb4a946f347c19d6ac59874b4cb931020e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-01-18 15:57:59 +00:00
Stephen Kelly 99e25dd7d8 CMake: Don't attempt gui-tests if Qt is built with -no-gui
Change-Id: I5f327fa1b0c7827535a4b00ca7d0d4281b1eec7b
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-18 13:00:03 +00:00
Morten Johan Sørvig f634ce3b9a QFocusFrame: Don't crash on null d->widget.
This can happen with a suitably complex use case
(See QTBUG-50263)

Change-Id: Ie8fa7b5872a902e802fda5795ade3369399ddb54
Task-number: QTBUG-50263
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-01-18 12:33:49 +00:00
Giuseppe D'Angelo 5007352164 QOrderedMutexLocker: use std::less to prevent undefined behavior
operator< between pointers is undefined unless the two pointers
point in the same array, which is not what QOrderedMutexLocker does.

Change-Id: Ia6594900cfa807a73f20e157ce896b4321a3d746
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-18 12:20:47 +00:00
Laszlo Agocs fd6cf5c875 Avoid checking the fb status in every bind
On some drivers (e.g. NVIDIA, tested on Windows) the
status check is apparently expensive. A simple FBO
test app rendering into the FBO on every frame (and
thus calling bind()) shows a 19-21% CPU usage. With
the patch this gets reduced to 0.8-1%.

The check is fairly useless too - whenever creating
attachments, the status is checked, so d->valid is
up-to-date.

Task-number: QTBUG-50496
Change-Id: Ie9f0db34e5c2bc1a1141c734ca0b318419013c0d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2016-01-18 11:39:24 +00:00
Frederik Gladhorn bc81a28554 Passing parameters to convertLineOffset by pointer instead of reference
This is aligned with our coding style and it should have been this way from
the start.

Change-Id: I23a00eb220dd9f17d9239c811b556885a2c0186a
Reviewed-by: Fredrik de Vibe <fredrik.devibe@theqtcompany.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2016-01-18 11:16:57 +00:00
Alex Trotsenko 294111e25a QHttpSocketEngine: ensure pending EOF triggers a notification
When the remote peer closed the connection, a read notification needs
to always be emitted, otherwise the higher layer does not get the
disconnected signal. From the other side, underlying QAbstractSocket
object could temporarily disable notifications from the engine at
any time. To avoid possible blocking of the socket, take a pending EOF
into account when the read notifications are re-enabled.

Change-Id: Iac9d4e2f790530be3500baf5a2000f1f63df5cc2
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-18 11:08:34 +00:00
Tobias Koenig 5243696528 Haiku: Fix compilation of corelib
Change-Id: I8f962ac7ee85af50a573a451f54931d6c0dd67eb
Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-18 10:47:01 +00:00
Eirik Aavitsland bfd367c6ec Mirclient: update with upstream changes
Merge in the changes up to revision 306 of the lp:qtubuntu repo.

Change-Id: I55dcb9e06e0a3503d6abe4b0894d5ef5a785b6bb
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-18 08:33:04 +00:00
Laszlo Agocs 1172e18c3c Promote backingstore image format to alpha
Like xcb does since 1bcfc3de75.
For TranslucentBackground (ARGB32_Premultiplied) there is no change
in practice. For RGB32 we will promote to ARGB32_Premultiplied
but everything should behave like before, except that we do not rely
on undefined behavior anymore when QOpenGL/QuickWidget is in use. For
RGB16 this will enable QOpenGL/QuickWidget since there the hole
punching mechanism needs an alpha channel always.

Change-Id: Id04ea548cee245ec91642f1358a5e501b62ff64c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2016-01-17 01:31:55 +00:00
BogDan Vatra 9bb24615ad Android: fix native libs dir.
On Andorid 64 bit O.S.s the libs are not located anymore on dataDir/lib/
but they are located on dataDir/lib/<arch>/. Using nativeLibraryDir instead
of dataDir we'll get the right folder.

Change-Id: I40ef9513eb5b51f81032bd41f9943ab7b959ad51
Task-number: QTBUG-50394
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-16 08:52:56 +00:00
Friedemann Kleint c26562033b QFileDialog: Check whether sizeHint() is valid before resizing.
Fixes a regression appearing in 5.5 where QtWidgets-based file dialogs
showed up too small on Windows.

Change-Id: I5f74ab01d4368d67ab79d3a1b145fb63bdd69ca0
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-01-15 22:34:43 +00:00
Allan Sandfeld Jensen 8fd75739ef Lock qfontdatabase mutex in qt_fallbacksForFamily
When called from outside of qfontdatabase, the qfontdatabase mutex will
not be locked upon entry to qt_fallbacksForFamily, so we need to add
it to the exported version.

Change-Id: I16a21708d7cca15730c12de3dbeeaab13ffbd315
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-01-15 19:22:45 +00:00
Allan Sandfeld Jensen 4f71654385 Handle RGB30 formats in OpenGL backing-store integration
Optimizes composition on platforms that may use 10-bit per color channel
formats.

Change-Id: Ib303c391d47795c79a4ba55d78dbb1c3c702d90a
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-01-15 08:59:28 +00:00
Thiago Macieira d53f614740 Doc: add missing semi-colon
Change-Id: I408dcb81ba654c929f25ffff14291c57198e7367
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-01-15 06:38:50 +00:00
Friedemann Kleint b6c086ad6c Windows/Direct2D QPA plugins: Fix overrides.
Fix warnings found by clang.

Change-Id: Ia8e7a271e9d33011eded1e63e61dbcaeaf692600
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-14 16:57:59 +00:00
Allan Sandfeld Jensen 0bc4288689 Optimize OpenGL binding of ARGB32PM backing store
Detect premultiplied backing store and upload it without conversion
and adjust blend to not multiply alpha again.

Task-number: QTBUG-50381
Change-Id: I51939c4f82fbb0c48eaca6e2475bf4cf3722bc2d
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2016-01-14 13:28:57 +00:00
Błażej Szczygieł 18119a58de xcb: Don't clear alpha on every repaint
Since 1bcfc3de75 every image has alpha
in XCB even if it is not used by window. This patch prevents clearing
the alpha channel on every repaint when window is not transparent.

Change-Id: Icfdd39f8636401906ace77ea3c2fa25386979d5f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2016-01-14 10:47:10 +00:00
Maurice Kalinowski c3376ed3f9 winrt: enable hardware buttons for Windows 10
Previously the hardware and camera button handler were guarded inside a
Q_OS_WINPHONE which does not apply to Windows 10.

Instead use WINAPI_PARTITION_FAMILY like on other places, this covers
Windows Phone 8.1 as well as Windows 10.

To find windows.phone.ui.input.h at build time the Mobile Extension
directory needs to be added to the include paths inside qmake. On
runtime we need to check whether we have hardware buttons or not. In
case they exist, register the handlers, otherwise skip registration.
Skipping also helps to keep WACK succeeding.

Task-number: QTBUG-50427
Change-Id: Ibeae15dbde12553cebd2b73b1a40b754c014f426
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-01-14 07:43:26 +00:00
André Klitzing f831c97a08 Replace QStringLiteral with QLatin1String in QFileSelector
Change-Id: I5c109d26bf5252947ae016465db5675e38cd68c9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-13 22:06:32 +00:00
Volker Krause b5447f9c33 QtConcurrent: Avoid an allocation in ExceptionHolder if there is no exception to store.
Qt3D hits this several times per frame.

Change-Id: Iaadcfbe79f146bd73b36f01325580dc24a10225c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-13 22:06:25 +00:00
Błażej Szczygieł 7b63c45df5 QtWidgets: Don't show window of native widget with WA_OutsideWSRange
This patch prevents visibility of native widgets which for some reasons
has width or height of 0.

Due to async expose event in Qt5 we must force "hide_sys()" during
resizing for widgets with WA_OutsideWSRange flag. This avoid problems
for non-native and visible widgets which are converted to native and
then resized:
child->winId();
child->resize(0, 0);

Task-number: QTBUG-49445
Change-Id: Ied62a4f253f89447941b2dc03316db8c168f4bb5
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-13 19:02:34 +00:00
Błażej Szczygieł a9c0a83207 xcb: Don't duplicate expose events
Use ExposeCompressor for mapping the window to prevent duplicating
expose event when window is mapped.
Remove sending expose event from configure notivy event.

Change-Id: I6836c06047ffebd65775aa8aca90750afba6efe8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-01-13 19:02:29 +00:00
Oswald Buddenhagen b8bee40726 unbreak propagation of dependencies on private modules
most module project files define two logical modules: a public one and
the corresponding private one. these are really separate modules as far
as qmake is concerned (even though the private one contains just
headers), and consequently have separate dependencies - QT and
QT_FOR_PRIVATE.

as public modules cannot depend on private ones, all private
dependencies would have to go to QT_FOR_PRIVATE, and a dependency on the
respective public module would have to be added to QT. this would be a
bit tedious, so we have a convenience feature which allows putting
private dependencies into QT, but automatically "downgrades" them to
their public counterpart when creating the public module's .pri file.

however, we failed to put verbatim versions of these private
dependencies into the private modules, which meant that these
dependencies were not pulled in transitively by the private modules'
users.

note that this entirely unrelated to QT_PRIVATE - this one defines the
private (non-propagated) dependencies of the module's implementation,
i.e., the libraries (and headers) that are not part of the link
interface. there is no QT_PRIVATE_FOR_PRIVATE, because there is
obviously no point in assigning the dependencies to a particular
logical submodule when neither one inherits them as far as the qt
module system is concerned.

Change-Id: Ib056b47dde3341ef9a52ffff13efaf8ef8e6817b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-13 15:59:05 +00:00
Oswald Buddenhagen dc1f65d4cf make module .pri files more flexible
save the actual library/framework name and framework paths in the .pri
file instead of computing them again at use time in qt.prf.

qt_no_framework_direct_includes inherently requires a use-time decision,
so this ugliness remains.

Change-Id: I09b2775e7d8e1d52e3af0d663e1babde10ae4814
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-13 15:59:00 +00:00
Edward Welbourne cd9625fc3c Correct floordiv() to cope with implementation-defined division.
Irrelevant once we get to C++11 (so we can revert this in 5.7), but
division's rounding direction is implementation defined when either
operand is negative [0].  The prior code assumed C++11's truncation
(a.k.a. round towards zero), but rounding may be downwards instead.

[0] http://en.cppreference.com/w/cpp/language/operator_arithmetic#Multiplicative_operators

Change-Id: I2b6b27e1cf629def48b25433e81b9ed8230d8795
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-13 13:58:49 +00:00
Morten Johan Sørvig eef7725775 eglfs: Round value returned from pixelDensity()
Avoid returning fractional scale factors, which we
do not support. This matches the pixelDensity()
implementation for the Xcb and Windows platform plugins.

Change-Id: I79156e802a0a436b9344f12d35d1f4861e20e7fa
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
2016-01-13 12:55:15 +00:00
Andy Shaw 8c89a8b1ef [Android]: Java uses some deprecated locale codes so account for these
There are three deprecated language codes that Java still uses for the
locale so we need to account for these inside QLocale by mapping them to
the right language.

Task-number: QTBUG-49632
Change-Id: Ib66b3f2763e085f7384228f2490b048bb56be259
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-13 12:37:56 +00:00
Sérgio Martins e770728a33 Add Qt6 TODO to remove copy-assign operator and copy-ctor
Change-Id: I5d80b272f31ada58d4eb7c19051fe447d6241633
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-12 23:52:35 +00:00
Tor Arne Vestbø 1e15b428b5 Fix shortcut modifiers not being propagated after c7e5e1d9e
The code-path used by non-OSX platforms were not passing on the native
scan-code, virtual key, and modifiers, breaking QKeyMapper::possibleKeys
in the process.

Task-number: QTBUG-50360
Change-Id: Idc36380a234f0a37d016dbeaca594aeb82c496d2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
2016-01-12 22:08:09 +00:00
Tor Arne Vestbø af45b352d7 Fix reentrancy regression in QShortcutMap after c7e5e1d9e
When closing a popup dialog using a shortcut, when the popup
was originally opened using a shortcut, the closing-shortcut
would interfere with the state of the first shortcut, and we
ended up sending a key event for the original shortcut.

Task-number: QTBUG-50360
Change-Id: I62e5ddb9ca43b28519ede629775bc0d7598dccc4
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-12 22:08:04 +00:00
Thiago Macieira 70092c9a47 Fix GCC 6 warning about placement-new operator on too little space
GCC 6 is able to detect when you use a placement new of an object in a
space that is too small to contain it.

qvariant_p.h: In instantiation of ‘void v_construct(QVariant::Private*, const T&) [with T = QRectF]’:
qvariant_p.h:142:9: error: placement new constructing an object of type ‘QRectF’ and size ‘32’ in a region of type ‘void*’ and size ‘8’ [-Werror=placement-new]
         new (&x->data.ptr) T(t);
         ^~~~~~~~~~~~~~~~~~~~~~~

This happens even for the false branch of a constant expression (the
enum). So split the v_construct function in two pairs, one pair for
being able to use the internal space and one pair not so.

Change-Id: Ibc83b9f7e3bc4962ae35ffff1425ed898f279dea
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-12 19:25:42 +00:00
Thiago Macieira 9f09fed72f QVariant: use v_construct instead of duplicating logic
v_construct does what we want, so use it. This is required for the next
commit, which solves a GCC 6 warning issue.

Change-Id: Ibc83b9f7e3bc4962ae35ffff1425ed5f035f631a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-12 19:25:29 +00:00
Thiago Macieira 5e1a5a78d9 QVariant: make sure to default-initialize in v_construct
Otherwise it's possible to get garbage for primitive types (trivially
constructible) under some conditions.

Change-Id: I408dcb81ba654c929f25ffff142885fc62395948
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-12 19:25:07 +00:00
Romain Pokrzywka 650b4d0f49 Append the environment's QT_PLUGIN_PATH to 'make check' targets
Without this, any test executable requiring a plugin path from
the environment's QT_PLUGIN_PATH will fail to run since the path is
overwritten when generating the 'make check' command, for example:

QT_PLUGIN_PATH=/path/to/qt/plugins \
LD_LIBRARY_PATH=/path/to/qt/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \
./test_foo

A prepend config option is used for *PATH to preserve the envvar
value, so use the same option for QT_PLUGIN_PATH. The command above
then becomes:

QT_PLUGIN_PATH=/path/to/qt/plugins${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH} \
LD_LIBRARY_PATH=/path/to/qt/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \
./test_foo

Change-Id: I69b43327974915eae52f299fc4001effe93a491a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-12 15:21:39 +00:00
Oswald Buddenhagen d8cfa6a144 disable install targets for non-prefix builds
one reason to do that is some users' persistence in destroying their
non-prefix builds by trying an installation.

another reason is the fact that qt.pro's relative_qt_rpath is triggered
by the presence of an install rule for the target, which is of course
not helpful when the install dir is bogus.

Task-number: QTBUG-48406
Change-Id: I75f3940be79fcb5b86e34b975b789692423c92cb
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-01-12 15:16:37 +00:00
Oswald Buddenhagen 20c7ab44c6 rework include path construction in the module system
the main objective was to fix the bootstrap modules in framework builds.
bootstrapped modules which "borrow" headers from "proper" modules can
specify this in a clean way now.
a side effect of this is that the bootstrap-dbus module now has its own
syncqt call.

most includepath-related setup from qt_module_pris.prf was moved to
qt_module_headers.prf.

Change-Id: Ie0d8192cfac1a8cdae0ddd0bc0cd8c3092b1e85b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-12 15:14:57 +00:00
Edward Welbourne 81858bf172 Don't pretend we know what DST to use for an offset date.
When QDateTime::addDate() and friends sanitize their end-state, they
were using the DST status of their start-state (if known) to control
it.  This lead to misguided results and, in particular, inconsistent
results given that a raw-constructed QDateTime comes into being
ignorant of its DST, while a .toLocalTime() one knows its DST.

Furthermore, the code to do this was triplicated, tricky and poorly
explained.  So pull it out into a local static function and explain
what it's doing, and why, more clearly and only once.

Task-number: QTBUG-49008
Change-Id: Ia4bb3c5e9267fff8bb963ea705267998218ed623
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-01-12 09:23:55 +00:00
Marc Mutz 08775e4bd7 Revert "QString: preserve embedded NULs when converting from QByteArray"
This partially reverts commit e486d69133.
It broke too many users, even though all of them deserved to be broken.
The new functionality will be provided by differently-named functions,
where possible (problem: equality operators).

I did not revert the fix for the off-by-one error in
tst_qtextdocumentfragment.cpp.

I also didn't revert the change in the inequality relational operators,
since for all strings s1, s2 and s2' where s2' is s2 truncated at the
first NUL, s1 < s2 ⟺ s1 < s2' (since NUL < c for any c != 0), and,
trivially, for ≤, >, ≥, too. This does not hold for = and ≠, of course,
since "foo\0bar" ≠ "foo".

[ChangeLog][Important Behavior Changes][EDITORIAL] Reverted: All
conversions from QByteArray to QString now preserve embedded NULs...

Change-Id: If4b47048b39ae5be6ed08e6d91809626a67ea7f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-12 06:13:05 +00:00
Richard Moe Gustavsen ca7f1d2197 iOS: fix crash on iOS 8 due to unsupported selector
It turns out that f558bde was not enough to stop a crash when
trying to access forceTouchCapability of traitCollection. The
reason is that traitCollection is available on UIScreen starting
from iOS 8, while forceTouchCapability is available on
UITraitCollection starting from iOS 9. So only checking the former
will cause a crash when running on iOS 8.

Change-Id: I44f9fb785349694004fbf2f48fe3b85bb01d9a5a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-01-11 18:30:42 +00:00
David Faure e8479592c5 Doc: mention that Qt::AA_X11InitThreads isn't used anymore
Whether or not to call XInitThreads() doesn't apply since Qt-5.0's switch to XCB.

Change-Id: I5f1e5e664a251c98af6357c87fc9a6bb03a46ce3
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-01-11 17:28:52 +00:00