Commit Graph

26158 Commits

Author SHA1 Message Date
Marc Mutz
b697518634 QtWidgets: replace some Q_FOREACH loops with C++11 range-for
This needs to be handled a bit carefully, because Qt containers
will detach upon being iterated over using range-for.

In the cases of this patch, that cannot happen, because all
containers are marked as const (either by this patch or before).

Separate patches will deal with other situations.

Range-for loops are much more efficient than foreach loops.

This patch shaves almost 3K of text size off an optimized Linux
AMD64 GCC 4.9 build.

Change-Id: I7b1d41db4d9b5db8b515cb75686dc5135177da68
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-12-16 17:41:37 +00:00
hjk
2d3b04e4f6 Sanitize JSON test data
Strings do not have to be overly specific to test parser function.

Change-Id: I345dfec7fb4b8004661f6757cfd53b428ad87b6b
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-12-16 08:54:57 +00:00
Marc Mutz
03356fd17a QMessageBox: optimize textToCopy string construction
1. Keep 'separator' a QLatin1String.
   - saves at least two memory allocations
   - necessitates carrying the \n previously prepended to it
     around explicitly
2. Start adding to 'textToCopy' with op+=
   - saves one allocation, costs one -> ±0
   - preallocates more capacity than if we started with
     assignment
3. Collapse three unconditional op+= into one
   - more efficient usage of QStringBuilder
4. Don't collect button texts in a separate variable, but
   append to 'textToCopy' directly.
   - saves at least one memory allocation, probably more
     since the growth increments of 'textToCopy' should
     be larger (due to more content) than those of a new
     variable.

Also replace index-based iteration over the buttons with
C++11 range-for over a const QList. Avoids the detach that
happened previously, due to use of op[] instead of at(),
but frankly, I was just too lazy to separate this change.

Change-Id: I27a46a6a163c16d773124f140e085325b17ce5d1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-12-15 17:50:38 +00:00
YAMAMOTO Atsushi
786984e7e4 Windows: Fix QWindowsInputContext for Japanese IME.
Change the QWindowsInputContext::composition if it is called
with lParam has flags GCS_RESULTSTR and GCS_DELTASTART,
it doesn't call endContextComposition.

Task-number: QTBUG-49955
Change-Id: I2035c4b3c1e947c5757d7532150798963fc39012
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Takumi ASAKI <takumi.asaki@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-12-15 14:11:56 +00:00
Friedemann Kleint
16a73bca5d Testlib: Gather methods in a class.
In tests with many data sets and init()/cleanup() functions, a significant
time is spent looking up the methods "init"/"cleanup"and the test methods
in qInvokeTestMethodDataEntry().

Introduce a class TestMethods that aggregates the optional methods and the
test methods as a std::vector<QMetaMethod>. Its method list can be populated
either by inspecting the QMetaObject or from the command line.
The class is instantiated on the stack.

Previously, 2 data structures existed for storing the methods to execute
obtained from the command line (array of class TestFunction and an exported
StringList testFunctions for QML).

Remove the custom TestFunction and use only the (QML) testFunctions list
for populating the new class.

Speeds up tst_QChar::normalization() from 340ms to 300ms on an average
Linux machine.

Task-number: QTBUG-38890
Change-Id: I80b488e7249ce031b6d6c8442e53aa87bd2edd42
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-12-15 14:11:37 +00:00
Marc Mutz
43d1e61ade [docs] Fix assocated -> associated
Change-Id: Ia828db7bb71b874b19a610439e156687f273290f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-12-15 07:54:40 +00:00
Marc Mutz
b2aeeaf628 QTreeWidget: fix const-incorrectness in indexFromItem() parameters
The item to look up isn't modified, so take by pointer-to-const.
Can't change the API, so overload and mark the old function
for removal in Qt 6.

Change-Id: I4671c6b079687ec9d81b1ac0e6745887ef7077cd
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-12-15 07:54:29 +00:00
Friedemann Kleint
1d03ed3f2b Make native cursor handles accessible.
Add QWindowsNativeInterface::nativeResourceForCursor() and
implement for Windows (returning the HCURSOR) and XCB (returning
the xcb_cursor).

Task-number: QTBUG-49386
Change-Id: I963869f6e8741449822ecbe6489f9c42a786c7a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-12-14 16:33:34 +00:00
Friedemann Kleint
3c8cf55074 QProcess/Windows: Fix handling of workingDirectory.
Store nativeWorkingDirectory in a variable on the stack to prevent
accessing the buffer of a temporary string.
Fix breakage introduced by 068baa9bb6.

Change-Id: I8cf9ffe39c97afc9383c33cafaeffb1245b3e2b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-12-14 15:53:42 +00:00
Marc Mutz
a8ff0bc887 tst_QChar: add a check for comparing against int/uint
This is used throughout Qt and resolves to
   operator op(QChar, QChar)

This test makes sure we don't break those
use-cases as we fix missing relational
operators as found by tst_QStringBinOps.

In the other direction, 0 op QChar is
ambiguous, due to op(const char*, QString)
etc, so only test the uint op QChar case.

Change-Id: Ifae7fb65bf3269583898cfea3fc6c95547c75122
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-12-13 13:14:43 +00:00
Marc Mutz
e5a20cb864 QString: mark relational operators (and compare()) nothrow
Saves ~3K in QtCore text size on GCC 4.9 Linux AMD64 relase builds.

Change-Id: I74171ba5499de200b9584660241ca1fae4bcad79
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-12-13 13:14:36 +00:00
Marc Mutz
1865145fa2 QChar: mark remaining relational operators nothrow
Equality and inequality were already marked nothrow, but
less/greater than (or equal) were not.

Fixed.

Change-Id: I3f7a3388b31fcaa2535353f357b5bd1fc86f261d
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-12-13 13:14:31 +00:00
Sérgio Martins
918bb8ec47 network: Pass types with copy-ctor or dtor by const-ref
Change-Id: I7bea3e03bff6f424b02335476211dd466ce4d720
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-13 12:13:37 +00:00
Sérgio Martins
d6c2dea7da widgets: Pass non-trivially-copyable or large types by const-ref
Change-Id: I912c6a9ee7b27350ac3d1fe147b697338e76f53c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-12 20:35:56 +00:00
Milian Wolff
6cc79ad994 Optimize moc: Preallocate space for list of preprocessed symbols.
Without this, the symbol list is frequently reallocated. The value
is a guestimate. It corresponds to a block of memory with the size

262144 * 3 * 8 byte = ca. 6.3 megabytes

on a 64 bit machine. Looking at the final size of the symbol list,
this seems to fit the common case nicely.

Change-Id: Ib546a1ea479f2c6d8ab57be783cdf630f9b54f77
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-12 09:07:06 +00:00
Erik Verbruggen
b894dfe311 Fix compilation of isnan/isinf for MSVC2012.
MSVC doesn't define float versions for _isnan/_isfinite, so the double
versions need to be used. This is already done in the surrounding
functions, but not in these two.

Change-Id: Ic183358dc1790279e18d00a08b7279e76c02af60
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-11 11:17:42 +00:00
Jake Petroules
0ba7df2603 React to changes in the system color palette.
Task-number: QTBUG-49734
Change-Id: Ic7926b53b6ee417c6c6206f7a9d5bb08bfd0c051
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-12-11 11:06:52 +00:00
Marc Mutz
95a6dc1cb9 QStyleOption*V<N>: mark as Q_DECL_DEPRECATED
Change-Id: If9c5ec8193e51b2a8b091f46916fc74d2d03f1df
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-12-11 11:01:56 +00:00
Jake Petroules
e298ae3a5e Use modern APIs for accessing system palette.
Change-Id: I7ac88007be50963deaa43aac46566781696b55f6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-12-11 10:55:39 +00:00
Jake Petroules
2f549d61ec Add some functions to convert an NSColor to a QBrush.
NSColors can be quite complex and store patterns, gradients, dynamic
system colors that change based on global state (!), etc. QBrush is a
better equivalent to it than QColor.

Change-Id: I4b66a1ab85342bbb9efcf78011965ec74e5fc738
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-12-11 10:55:33 +00:00
Louai Al-Khanji
1bf1d0f493 qt_safe_poll: fix Windows to QNX/Android cross compiles
Task-number: QTBUG-49875
Change-Id: I8820f28351dff385d12a4c469ed689914f87b924
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-12-11 10:44:58 +00:00
BogDan Vatra
e3689949ba Android: Remove support for API < 16
Starting with Qt 5.7 we removed support for API < 16 (Android v4.1)

[ChangeLog][Android] Support for Android API < 16 was removed.

Change-Id: I8bf396a9d70ab0996965e0c9f629800aa1fa6a45
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-12-10 19:53:36 +00:00
Sérgio Martins
53697fe078 Don't allocate memory when creating an invalid QDateTime
Task-Id: QTBUG-47779
Change-Id: I5aad835c9fbf50962d64d14519ec31cf38cf9e3b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-10 19:17:18 +00:00
Erik Verbruggen
74c0416c99 Fix inconsistent override warnings.
For example:

../../include/QtGui/5.7.0/QtGui/private/../../../../../../../../qt5-dev/qtbase/src/gui/painting/qpaintengine_blitter_p.h:67:18: warning: 'end' overrides a
      member function but is not marked 'override' [-Winconsistent-missing-override]

Change-Id: I2845d8e4b5a7e11c57ac1933a6d152df1ef5d07f
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
2015-12-10 18:28:26 +00:00
Joerg Bornemann
068baa9bb6 add a way to modify CreateProcess parameters
[ChangeLog][QtCore][QProcess] Added method
setCreateProcessArgumentsModifier to QProcess on Windows to enable
users to intercept and modify CreateProcess parameters.

With such a modifier, calling code can decide whether to inherit
handles, modify the STARTUPINFO struct, and pass its own
combination of process flags to CreateProcess.

Task-number: QTBUG-390
Task-number: QTBUG-6917
Task-number: QTBUG-9350
Task-number: QTBUG-24619
Change-Id: I14757dbbacfebb1c89f52402d36fba0ba9c45f3a
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-12-10 16:29:33 +00:00
Anton Kudryavtsev
4ae0b655b2 QCosmeticStroker: fix misleading use of & on bool operands
Change-Id: I0e885391b220c30fc1482446d1dc9a2be035d45a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-10 15:44:10 +00:00
Jake Petroules
f157babbed Move a reusable image conversion function into QCocoaHelpers.
Change-Id: I5fc8f84bd504e405968e212b3125179a2273ae79
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2015-12-10 14:38:46 +00:00
Ulf Hermann
1f2734b82b Xcb: Fix debugging code
We need to pass the correct connection and we need a specialization for
reply pointers. Also, there is not much of a point in first creating
a QString from a QByteArray, only to retrieve a QByteArray again.

Change-Id: Ia1bb5655f6229638e3bd2339acadeffc80561b9e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2015-12-10 10:28:56 +00:00
Tor Arne Vestbø
4c29eba248 Don't write absolute TargetSpec/HostSpec paths to qt.conf
Change-Id: Ifc25a26c5e59a214bdd8dc9398b4d0047fbb5ca2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-10 07:23:00 +00:00
Friedemann Kleint
1289bc8172 Tests: Remove empty init/cleanup slots, constructors and destructors.
Move some code (like registrations of meta types) from init() to
initTestCase() in the process.

Change-Id: I57db5156647cfadab554fbed853b2e68b2815f3b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-12-10 05:26:05 +00:00
Giuseppe D'Angelo
872b9b231e QLineEdit: fix the shortcut override events on a readonly line edit
When a QLineEdit is readonly there's a discrepancy between key press
events and shortcut override events. For instance, presses Ctrl+C
copies the text unless there's also a shortcut for the same key sequence.
In this case, the shortcut override event is not handled, and no text
is copied. Fix it by splitting the handling of shortcut override
events between "read only" access (copy, select, etc.), which still
makes sense on a read only line edit, and write access (paste, ...)
which doesn't.

[ChangeLog][Important Behavior Changes][QLineEdit] QLineEdit will
now accept certain shortcut override events even if it is read only.

Change-Id: Ie5b048259b99a1eff0581129e3ad97f27a88fe86
Task-number: QTBUG-21217
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-12-09 19:04:59 +00:00
Thorbjørn Lund Martsum
410aa20f07 QAIV - allow users to control single step in ScrollPerPixel mode
The documentation says that we scroll one pixel, but changing the
behavior in 934f062203 to do that
was not well received.

People were relying on the undocumented behavior - and the new behavior
was considered to be a regression. (Nobody called setSingleStep since
Qt in many cases provide a reasonable singleStep - which implied that their
programs scrolled with 1 pixel which was quite slow). Furthermore getting
the old behavior (auto set of single step) was nearly impossible.

However the revert (done in 0e69230d02)
gets us back to QScrollbar::setSingleStep not working in pixel scroll mode
(even without it being documented - but we should also have a working API
rather than documenting that it is not working)

The previous approach was directly prevented Qt from changing
single step (on e.g resize) at all. This patch only prevents Qt from
changing when a user explicitly has called the function
QScrollBar::setSingleStep (in pixel scroll mode).

That is we expect that calls to setSingleStep means that the user actually
wants to set the singleStep and doesn't want Qt to control that value.

Furthermore it is possible to switch back to the automatically adjusted
singlestep with QScrollBar::setSingleStep(-1).

[ChangeLog][QtWidgets][QAbstractItemView] QTBUG-7232 - In ItemViews
when scrollMode is set to scrollPerPixel, it is now possible to
change the single step. Qt will automatically adjust the single step
until setSingleStep is called. When setSingleStep is called it will
however respect the set and stop doing automatic changes of the value.
Calling setSingleStep(-1) will switch mode back to automatic adjust.

Task-number: QTBUG-7232
Change-Id: Ibfe0caa9751d3bcc11bfc6e0654a3d1ac35ac8ae
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-12-09 17:53:59 +00:00
Tor Arne Vestbø
49568df954 iOS: Enable non-pixman NEON drawhelpers for both 32 and 64-bit
The pixman drawhelpers are implemented using GAS syntax, which the
Clang assembler doesn't handle, nor do they work on 64-bit ARM, so
we disable them selectively. They are only used for 16-bit surfaces
anyways, so it not a big deal on iOS.

Change-Id: I78417fabd7f671f9c5d94b6e5fa5ce10d3fc1d27
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-12-09 17:48:55 +00:00
Mark Brand
02a730331e qsql_sqlite: fix segfault in dtor of orphan result
d79ae90466 accidentally removed the check
on the driver pointer before dereferencing it. This causes a segfault
when deleting a result object after its driver has already been deleted.
This situation can arise when a database is removed, explicitly or
probably also upon unloading the driver plugin, while related
results still exist. The problem affected
qttools/tests/auto/qhelpcontentmode.

Task-number: QTBUG-49836
Change-Id: I8ce8f8a5e27d787309ac2ff644b388e333d76435
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2015-12-09 08:41:54 +00:00
Mark Brand
371c2e4786 qsql_sqlite and qsql_sqlite2: don't hold driver data in result
Change-Id: Ia4f6adc6daaea97ac06246e9d01c6561de1227ea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-12-09 07:32:32 +00:00
Mark Brand
a5cd081879 qsql: remove QSqlCachedResultPrivate::forwardOnly
The override creates unnecessary complexity.

Change-Id: I72e6cfd2515315ecb5e7a9744a275f06c90be8d9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-12-09 07:32:22 +00:00
Mark Brand
2b1534848b qsql_odbc: remove forwardOnly override
Change-Id: I243a374f8053639dcb3213478a1c65855d8613b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2015-12-09 07:32:07 +00:00
Thiago Macieira
a48b8ecc9c configure: don't test AVX512 if AVX2 wasn't found
Change-Id: I14839ba5678944c2864bffff14176f0e9236ad8c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-09 00:07:52 +00:00
Anton Kudryavtsev
8dc43adcbb QtBase: use preincrement for iterator types
... because it's useful for non-primitive types.
Except for index-based loops, these were the only two
remaining instances in QtBase.

Change-Id: I0fafa502d78a70f98b4a90f4d3c7fdfbb401a90f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-09 00:07:32 +00:00
Giuseppe D'Angelo
f37ea6c5c6 Remove dead code from QWidgetLineControl
The code for _q_clipboardChanged comes from some ancient time
(Qt 3's QLineEdit::clipboardChanged, subsequently refactored in Qt 4
and Qt 5). The best part: it has always been a slot doing absolutely
nothing. Get rid of it.

Change-Id: Icc2c71920377d069529bb7ed7c40c15f46fbb455
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-12-08 19:40:41 +00:00
Tobias Koenig
bee2ad068e Haiku: Fix compilation of network library
Like on some BSD systems, the member of the ifreq
structure is called ifr_index and not ifr_ifindex
on Haiku OS.

Change-Id: I273de0c703b1c89dbac537c68e52db219d2da50e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-12-08 19:18:51 +00:00
Tobias Koenig
df3a05b918 Haiku: Implement QLockFilePrivate::processNameByPid
Change-Id: Ie9b76d14f901f5aadf7409183165eaccc288effd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-12-08 19:18:20 +00:00
Alex Trotsenko
330f8f6d80 Allow Q_CHECK_PTR when asserts are forced
Since the commit 9f83e75d3fbfc01a5ca8d87b4c33ca1ad848387d we can build
the release packages with Q_ASSERTs still enabled. As this feature was
targeted to embedded platforms it would be nice to enable Q_CHECK_PTR
macro as well.

Change-Id: I2d549d92b7196935665d927e6aaed3e9f31593b1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-12-08 19:10:15 +00:00
André Klitzing
63827c4d27 Add PointerToMemberFunction for ctor of QSignalTransition
[ChangeLog][QtCore][State Machine] Added constructor overload that
takes a pointer-to-member for the QSignalTransition.

Change-Id: I80ac6e16d0edf7d2ab09882b6f6db4cbd73364e1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-12-08 17:07:04 +00:00
Marc Mutz
d6ffbedc49 QString::vasprintf: Extract Method parse_length_modifier
... and simplify it:

De-duplicate ++c by moving it from every case into the
switch statement, undoing it only in the default case.

Introduce a small helper function can_consume() for dealing
with the two-letter length modifiers.

Also return the result from each case instead of storing
it in a temp variable.

Change-Id: I28a527920aabba067ebb2152a67995c8f2ec7ae7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-12-08 16:24:57 +00:00
Simon Hausmann
3ec31ef9c5 Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I2532c7f7db5e6cc3ef09753d886279816dd662b2
2015-12-08 07:09:47 +01:00
Friedemann Kleint
4ad8798de4 QPlatformWindow::initialGeometry(): Pass screen when scaling.
Otherwise, the window may up outside the display area when centering
on a secondary screen and the primary screen has a different scale factor.

Task-number: QTBUG-49803
Change-Id: I91ec7c5348722a90012f80a247e662e96bcbb391
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-12-07 19:38:15 +00:00
Venugopal Shivashankar
df57e3a33f Doc: Add the missing styles to get multi-column classes list
Add two- and three-column layouts for the 'All C++ Classes'
list. Also affects the layout of 'All QML Types' page.

Task-number: QTBUG-49376
Change-Id: I80953c0955dbc37db5aa4c60eb9ea8e3023a77f2
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2015-12-07 19:38:04 +00:00
Friedemann Kleint
60536d7421 WinRT: Prepend '.' to default file suffix.
IFileSavePicker::put_DefaultFileExtension() fails when the '.'
is missing, causing the QtWidgets-based dialog to show up (Windows 10).

Change-Id: Ifcb870431b792ffa8e4a608dec999225e8383fa9
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-07 19:37:37 +00:00
Friedemann Kleint
df053dc642 WinRT: Add RETURN_[]_IF_FAILED_WITH_ARGS macros.
Make it possible to pass arguments to the messages by
introducing variadic macro versions of RETURN_[]_IF_FAILED.

Change-Id: Iec27adb33d9d3211fdc299f07777fcdf33f08a93
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-12-07 19:37:33 +00:00