The check was broken on non-bash and producing errors like this:
/home/louai/work/qt5/qtbase/configure: 4528: [: Illegal number:
Change-Id: I5e78ad002cd7cfb401f2646510e0923f77c55f98
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Since the Qt headers require them now, we need to ensure that happens
properly.
Change-Id: Ib306f8f647014b399b87ffff13f14196c2c75bef
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
We no longer support any compilers that don't know the actual version
number of the standard.
Change-Id: Ib056b47dde3341ef9a52ffff13ef154791dd0d22
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
...for the recently-introduced std::vector objects
(QVector would detach).
Also, as a drive-by, reorder two comparisons so
the cheaper one is first, twice.
Saves 1700B of text size on GCC 4.9 optimized C++11
AMD64 Linux builds.
Change-Id: I05a29ef1f2e67c98d26236c2cc40a13856a91af6
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
When the device orientation changes, we should set the background
to a drawable appropriate for that orientation.
Task-number: QTBUG-44238
Change-Id: I4ea50aedc704060c0b35c2d35b75cbaed3b4979a
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
And for compiler extensions. QT_HAS_BUILTIN and QT_HAS_ATTRIBUTE will
come in handy.
Change-Id: I255870833a024a36adf6ffff13ecf06624bfc1ef
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
These are for faster lookups between ID and name when one doesn't need
the full information set about the interface.
Change-Id: I7de033f80b0e4431b7f1ffff13f98d448a705c3e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This allows to disable tests that do not work on ARM machines.
Change-Id: I80b54da2978479e037b73ca3af87567e8d9d1b60
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
At this point, the buffer is always not empty, as otherwise the offset
could not be smaller than it.
Change-Id: Iec04c0463623c4ed1e86bbcba2240653f110e315
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
the windows driver for Intel HD Graphics 3000 is buggy (crashes on
initialization) and according to intel, this driver won't receive any
bugfixes. device IDs taken from
http://www.pcidatabase.com/search.php?device_search_str=graphics
Task-number: QTBUG-42240
Change-Id: Ib846d37f67d901060d1318f3f211a5e5dc4f6814
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
KMS is no longer a platform plugin so the relevant leftover bits are
now removed.
As the introduction of the EGLDevice-based backend for eglfs shows,
using DRM/KMS is not tied to GBM, separate buffer management
approaches, like EGLStreams, work fine as well. Therefore separate KMS
from GBM and remove the EGL and GLES dependency in the tests - this
way there is nothing preventing us from using GBM without GL for
example.
Change-Id: Id7ebe172b44b315f9a637892237d2bb62d99aed2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
For now we pick one crtc and find the corresponding layer. If this is
not desired, set QT_QPA_EGLFS_LAYER_INDEX to override the layer to be
used. Enable qt.qpa.eglfs.kms to get logs about the available layers.
Change-Id: I762783f960739e32966c8cde17d8f55fbe40091f
Done-with: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Backends may want to subclass QEglFSWindow and reimplement resetSurface()
and similar. Make it possible to do this by moving window creation to
the device integration interface, similarly to screens.
In addition to customizing the windows, some backends may want to disable
the dependency on surfaceless contexts when using offscreen windows
(i.e. pbuffer surfaces). Make this possible too.
Change-Id: Ic5a426e07f821c7a800217b8799f91770ba6a6d8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
-xvideo was not used even by Qt 4 for a long time.
-xinerama was used by the xlib plugin which was dropped
by e6a7a6a381.
Change-Id: Iea97f643570d98f84ad1ce6f16e911dc92d617b0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Prefer QCOMPARE over QVERIFY for equality and use QLatin1String().
Change-Id: If226a0fc7b25be3e6774c7e36ca1e6f99234e5dd
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
In anticipation of moving it to QtCore.
The call to QWindowSystemInterface::sendWindowSystemEvents() has been
moved to QIOSEventDispatcher by making processPostedEvents() virtual.
Change-Id: I9e03be4153a9f5f34e9a0ac942cdff572a44c318
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Use character literals where applicable.
Change-Id: I1a026c320079ee5ca6f70be835d5a541deee2dd1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Now all Qt sequential containers consistently provide reverse iterators.
The associative ones, by way of not returning std::pair from op*, can't
just use std::reverse_iterator. They would miss .key() and .value() methods.
So that has to wait for 5.7.
The reverse versions of the new key_iterators can also just use
std::reverse_iterator, but I'm afraid that after bikeshedding over
keyRBegin() vs. rKeyBegin() vs. reverseKeyBegin() vs. rkbegin()
vs. krbegin() (<-- of course, what else?), it would anyway be too
late for 5.6, so defer, too.
[ChangeLog][QtCore][QLinkedList/QSet] Added rbegin(), crbegin(), rend(), crend(),
and reverse_iterator and const_reverse_iterator typedefs.
Task-number: QTBUG-25919
Change-Id: I58316fffade469e9a42c61d7aa1455ae3443fd94
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
A QAbstractSocket can be close()'d at any time, independently of its
current connection state. being closed means that we cannot use it to
read or write data, but internally it might still have some data to
send or receive, for example to an http server. We can even get a
connected() signal after close()'ing the socket.
We need to catch this condition and mark any pending data not yet
written to the socket for resending.
Task-number: QTBUG-48326
Change-Id: I6f61c35f2c567f2a138f8cfe9ade7fd1ec039be6
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Previously, only QXmlTestLogger had timers to take elapsed times
and log them. Move those into class QTestLog for access by
the loggers and output the times in the crash dump to make it
easier to spot hangs/recursion crashes.
Produces:
QFATAL : foo() Received signal 11
Function time: 22ms Total time: 23ms
A crash occurred in ...
Function time: 24ms Total time: 26ms
Task-number: QTBUG-47370
Change-Id: Ia530a63104087daffc9a15f68c15d93378b9407e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
This is a continuation of the work started in commit
694d300355.
Attach reference ('&') and pointer ('*') qualifiers to the
parameter name, as per Qt coding style.
Previously, function signatures were documented like this:
QString & QString::append(const QString & str)
After this change, they will appear like this:
QString &QString::append(const QString &str)
Change-Id: Ie103fc2929635bc32145e50469c600f9f378f97c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
QDoc wrote \target and \keyword information into the index file
properly, but did not read them back in.
This was because the code for handling enum and function elements
read their own child elements (without handling targets), and
marked the remaining children to be skipped.
This commit fixes the issue by refactoring the code for inserting
targets into a new function and calling it from relevant places.
Change-Id: I85d7b26ce54620daec35b19e447d1a065515b863
Task-number: QTBUG-48687
Reviewed-by: Martin Smith <martin.smith@digia.com>
The message box buttons need to be added inside the XAML thread.
Otherwise QWinRTMessageDialogHelper::onCompleted will not be triggered.
To successfully emit the clicked signal across different threads do not
exit the eventloop.
Change-Id: Ie884bdfe0dc64132559755083dae50c2aa43d80b
Task-number: QTBUG-48209
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Don't use gst_is_initialized(). It was added in 0.10.31, but we don't
actually require that version.
Change-Id: If5d662e18511cf636861bf93eeccc1f5b69e26f1
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Removed the insignificant flag so the rest of the test becomes enforcing.
This test seems to fail only on win32-msvc2010_developer-build_angle_Windows_7
Task-number: QTBUG-31611
Change-Id: Ic4818e50305e1e15eb67b505205436d3fec0ccfb
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
After calling connectToHost(), the socket enters HostLookup state. At this
stage, the socket engine was not created yet, and writing to the socket
should result in either data buffering or an error. So, add a check for
d->socketEngine to prevent a crash on unbuffered sockets.
Task-number: QTBUG-48356
Change-Id: I15ea9ce7de97ce6d7e13e358eca5350745b556bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
On OS X we don't treat popup windows as worthy of being activated and
focus windows (key windows). Instead we keep track of the active popup
windows and forward events to them manually.
The forwarding logic is split between QPA, which handles mouse, and
QWidgetWindow and QQuickWindowPrivate, which handles key events.
This commit adds the logic for key events to QPA, which is the right
platform layer for this kind of workarounds. The widget code is left
as is for now, and the QQuickWindowPrivate code can be removed in
a follow up.
Task-number: QTBUG-39415
Change-Id: Iee411fcba9fc81ddcc3a7bc82591184675a6d7a2
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
If QTimer::singleShot() is used with a functor callback and a context
object with different thread affinity than the caller, a crash can
occur. If the context object's thread is scheduled before
connecting to QCoreApplication::aboutToQuit(), the timer has a change
to fire and QSingleShotTimer::timerEvent() will delete the
QSingleShotTimer object making the this pointer used in the
connection invalid. This can occur relatively often if an interval
of 0 is used.
Making the moveToThread() call the last thing in the constructor
ensures that the constructor gets to run to completion before the
timer has a chance to fire.
Task-number: QTBUG-48700
Change-Id: Iab73d02933635821b8d1ca1ff3d53e92eca85834
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
In case of a lock failure, we potentially pollute the errno value
before printing it. Also, switch to qt_error_string, as strerror
is not reentrant.
Change-Id: I952aac14204637155726bcefc0ed8a21d7fcd501
Reviewed-by: David Faure <david.faure@kdab.com>
Apart from removing some unwanted allocations, also reduces
text size by ~800B on Linux AMD64 GCC 4.9 release builds.
Change-Id: Ibcd1d8264f54f2b165b69bee8aa50ff7f4ad3a10
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Calculation was working as long as one didn't use per pixel scrolling.
Task-number: QTBUG-48579
Change-Id: Ie02e28b008c5c81ed45d7dd17fed96148c23b598
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: David Faure <david.faure@kdab.com>
If QT_NO_CURSOR is defined then changeCursor() is not implemented in
QPlatformCursor which means that it isn't really being overridden in the
offscreen plugin. Therefore the same define is checked for to prevent a
compiler from having a problem with it.
Change-Id: Id7c104292354cb7462b3161602fc8d382a6dd390
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Use the fromUnicode(QChar *, int size) overload instead.
Saves 0.5KiB text size on Linux GCC 4.9 AMD64 release builds.
Change-Id: I1a1081e09bff4c2116288b8c2616e1bb7ee2bb42
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This is prone to ambiguities, even though we currently don't run
into them.
Use QChar::isNull() instead.
Change-Id: I71843878b3f4f8a5deae2ef57a6f6628461be216
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
- Remove class DragLabel in draggabletext and add a static creation
function instead since it only has a constructor setting some
properties.
- Use QRegularExpression instead of QRegExp
- Use new connection syntax.
- Ensure compilation with
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
demonstrating use of QLatin1String vs QStringLiteral.
- Streamline code.
Change-Id: I2e2ddeb40837dba379990836c77fb72ad7263e2d
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Recreate QShapedPixmapWindow when the cursor goes to
another X screen.
Change-Id: Ifd4c4281971b23abc45a9f6c0509832a45c31521
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
[ChangeLog][QtCore][QMetaProperty] write() now resets the property if an
empty QVariant is given, or set a default constructed object if the
property is not resettable
Change-Id: I9f9b57114e740f03ec4db6f223c1e8280a3d5209
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>