Commit Graph

24442 Commits

Author SHA1 Message Date
Thiago Macieira
e9a7825cf7 Remove the ref-qualified versions of segments and normalized
They can't be ref-qualified if the QVersionNumber object doesn't actually
hold a QVector<int>, as the next commit will make it: for segments(),
there might not be a QVector to be moved; for normalized(), the common
case will be that there's no gain in ref-qualifying.

Change-Id: I4bfb8b8765a502c0de6aed693752217106e575a2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-16 18:33:48 +00:00
Olivier Goffart
4e8adb4b7b QMainWindow: Remove dockwidgets from the floating tabs when plugging
Example on how to reproduce the bug with examples/widgets/mainwindows/mainwindow:

 - Select the option "Groupped Dragging" from the "Main window" menu
 - Drag and drop dock widget so there are at least three of them in
   the same group of tabs (for example red, black, and green)
 - Drag the tab bar of one of them outside to make it floating
   (for example black)
 - Drag away the group of two remaining tabs to make them floating
 - Drack back the floating-alone (black) dock widget somewhere
   back inside the main window.
 => The black dock widget is tabbed with the other instead of being
    where we put it

That's because it was still inactive (skipped) in the tab group.

Task-number: QTBUG-47209
Change-Id: I84ac33d4ca1df0381c6007486b41830bd7be99a8
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2015-07-16 15:06:02 +00:00
Friedemann Kleint
3e34484a3f tst_qaccessibility: Add message in case fuzzy comparison of QRect fails.
Change-Id: I815dc5e79c539b384793bf3573f6149240cf0390
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
2015-07-16 13:29:41 +00:00
Marc Mutz
b31923c5e5 QStyleSheetStyle: mark QRenderRule and ButtonInfo movable
Because they are.

Change-Id: Iab029e4b120f10efc99d62960b88fbba7603cc1b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:25:14 +00:00
Marc Mutz
a3f780b4a1 QCommandLineOption: prevent aggressive inlining
Even though we expect very few option names, GCC unrolls the
loop calling IsInvalidName::operator() four times. Together
with the lead-in/lead-out for size() % 4 != 0, that makes
for five inlined copies of the function call operator.

I don't know how to prevent the unrolling, but at least I can
stop the inlining.

Change-Id: Ib9d6c33e8193464a73927a92b8b54c3452cb26a3
Reviewed-by: David Faure <david.faure@kdab.com>
2015-07-16 13:24:23 +00:00
Marc Mutz
c3597c3fcf QCommandLineOption: never inline the warning function
We suppose that this function will never be called, yet the
compiler still inlines it in all four places.

Stop it.

Change-Id: If601bc3644cacb77aeab9d615578e4afb349a73e
Reviewed-by: David Faure <david.faure@kdab.com>
2015-07-16 13:24:16 +00:00
Marc Mutz
1aaed259e0 QFileSystemModel: add a symbolic constant for the number of columns
There are other literal 4's used in the implementation, so
disambiguate.

Change-Id: I5b0e4ac0018f9d5734e3de8b4f75259e175b23d3
Reviewed-by: David Faure <david.faure@kdab.com>
2015-07-16 13:23:04 +00:00
Marc Mutz
ae2de2fe99 QPlatformBackingStore: don't hold QBackingstoreTextureInfo in QList
QBackingstoreTextureInfo is larger than a void*, so holding them in
a QList is needlessly inefficient. Worse, the code could come to
depend on the fragile property of (inefficient) QLists that
references to elements therein never are invalidated.

Change-Id: I5edf846ee8f01ae36c9314147261748270e1fdf6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-07-16 13:21:52 +00:00
Marc Mutz
0d4711e2f5 QStyleSheetStyle: scope a ButtonInfo object better
Only one of the three following branches actually uses the ButtonInfo
object, so create it only in that branch.

Change-Id: I65c1d45d807258ed3352018c088bb4c4c66f9b84
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:46 +00:00
Marc Mutz
54a09a4188 Mark some QtMetaTypePrivate classes movable
These types are held in QVariant.

This change should be BC, because it's private API, even though
it is located in a public header file. The classes are used as
private data members in the respective public API classes, but
we don't change the size or composition, and holding these
types in a QList would be outside the use of non-private API
for which we promise BC.

Change-Id: I7ef1c1ca57e9d87c6474c97bb2fa8afef170c88f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:41 +00:00
Marc Mutz
7e1d5c7b18 QStyleSheetStyle: remove empty QRenderRule dtor
Prevents the compiler from synthesizing move assignment
operators for QRenderRule, thus ButtonInfo.

Change-Id: I3a4d67198606a7b84eeb9f454f4e076deb70d048
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:36 +00:00
Marc Mutz
2c41d6f7a1 QPolygon(F): add some move ctors
Change-Id: Ib0eb071e371a7198db26d4279bb901e49b3da2fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:30 +00:00
Marc Mutz
6e42a1ad4e QStyleSheetStyle: separate data and functions in QRenderRule
In preparation of marking it movable. For this, it is important to
have a good overview over the data members. Distributing them among
the function members is not helpful for that. Fix.

Change-Id: I29e6e270c698ce32f7e58e083e6205bdba9c1362
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:24 +00:00
Marc Mutz
2c235303c2 QPlatformFontDatabase: compress an array of ushorts
First, all values in the array fit into 8-bit, so change the type
from ushort to quint8.

Then, instead of appending a zero as end marker, statically
determine the size of the array and use that number.

Also fixes (benign) off-by-one error in the existing reserve()
call.

Change-Id: Id05b6a56b55d2e0769b00496a55808bb7351b084
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:15 +00:00
Marc Mutz
0b43c0a743 Mark QNetworkReplyImplPrivate::InternalNotifications as primitive
Held in QQueue, thus QList.

Change-Id: I9d13babb4c08eddbd67ede31da48c0c5f5fdbd5f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:11 +00:00
Marc Mutz
4927980523 QPairVariantInterfaceImpl: init all fields
Same pattern as used for Q{Sequential,Associative}IterableImpl.

Change-Id: Iacec3266af80eecf491d2bb766c6fddd1365bdaa
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 13:21:05 +00:00
Thiago Macieira
827f934760 QThread: simplify the pthread_cleanup_pop function
Make sure that the QString is not in scope anymore when the pthread
cleanup happens. C++ destructors in scope are pthread cleanup handlers.

Change-Id: I9a75ad8521ae4e5cbbe5ffff13d1ae1c7e31f6bb
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-16 13:20:59 +00:00
Marc Mutz
73991bee38 QCommandLineOption: add some Q_UNLIKELY
These are all error conditions, and should not happen in practice.

Naturally, there's no savings in executable size, because the
compiler just shuffles the layout of the branches around.

Change-Id: I52b98cc696fd808735c7d73c1f21e02478ff4f5a
Reviewed-by: David Faure <david.faure@kdab.com>
2015-07-16 13:20:44 +00:00
Marc Mutz
cde7f1b469 QCommandLineOption: reduce string data
... by centralizing the common part of repeated qWarnings() in a single
function, passing the variable part through %s.

Change-Id: I114d10f41d4b0bbf59ef87f75308dc5b3ccd3967
Reviewed-by: David Faure <david.faure@kdab.com>
2015-07-16 13:20:38 +00:00
Laszlo Agocs
9d0a10dc84 Move eglfs-only parts back from eglconvenience
The integration, screen, window and cursor classes were split in Qt 5.3 under a plan
of sharing these between eglfs, the Android port and potentially other future plugins.
This never materialized.

Maintaining the artificial split is getting difficult and is prone to errors. Therefore
it is time to merge back these base classes into eglfs. The result is cleaner, smaller,
and potentially better performing code. eglconvenience is now restored to be a collection
of convenience classes instead of platform plugin bits.

Change-Id: I75c6ad876ef66a1a0c5b39c1c307f928d2ed47d4
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2015-07-16 13:20:09 +00:00
Tasuku Suzuki
8f814e8cba QT_LOGGING_RULES supports multiple rules separated by semicolons
[ChangeLog][QtCore][Logging] QT_LOGGING_RULES now supports multiple
rules separated by semicolons

Change-Id: I7fdd62a3d719aeb16cad54f193befb6c203bc160
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-07-16 13:04:40 +00:00
Thiago Macieira
287971eb7f Refactor QVersionNumber to use the public functions when possible
Use segmentCount() and segmentAt() instead of going to m_segments. This
is done in preparation for a major refactor of QVersionNumber that will
store the version numbers in the object itself, without QVector.

Change-Id: I03dbdee59a3c74c21a0a4e70c1bb9182250f6223
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-16 13:00:51 +00:00
Thiago Macieira
7714ef7406 Set Q_CC_INTEL to the ICC version when in MSVC compat mode
Commit ffcad3244f did that for the GCC-
compat mode, but I forgot the MSVC one.

Change-Id: Ib1d49f003062638b4e27e5ead4554e25f539c373
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-16 08:28:18 +00:00
Thiago Macieira
cf3a639f9d Improve ICC compatibility with older MSVC versions (up to 2010)
Like on OS X and Linux, ICC uses the native compiler's standard library
headers, so the C++11 features that depend on headers need special
attention.
 * <initializer_list> is missing with MSVC 2012. It is present on 2010
   for some reason and it appears to work
 * ICC disables Unicode string support prior to MSVC 2015, probably
   because MSVC Standard Library headers have a typedef for char16_t

std::nullptr and std::move should have come with MSVC 2010, but I'm not
keeping compatibility with MSVC 2008. It's been deprecated since ICC
14.0 (Composer XE 2013 SP1, released in 2013) and support was removed in
15.0 (Composer XE 2015, released in 2014). ICC hasn't supported MSVC
2005 since ICC 13.0 (Composer XE 2013).

Task-number: QTBUG-47119
Change-Id: Ib306f8f647014b399b87ffff13f139174aeeafff
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-07-16 08:28:14 +00:00
Thiago Macieira
3aa5ef2ea9 Disable thread-safe statics for MSVC 2015: they're broken
An object that throws in its constructor cannot be reentered. This
violates both C++11 and C++98. It's also a regression from MSVC 2013.

The unit test is renamed to indicate what it really does, as opposed to
a misleading name that was probably a "thinko" on my part.

Task-number: QTBUG-47224
Change-Id: Ib306f8f647014b399b87ffff13f132436d0578ef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-16 08:28:07 +00:00
Venugopal Shivashankar
11ed836403 Doc: Updated online template with the latest footer
Change-Id: Ib3d074b21012e6a7dcc8fba7ed5ce2bfefd31681
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-07-16 08:02:58 +00:00
Laszlo Agocs
1e2cc518cc Fix broken gpu blacklist matching in the windows plugin
Task-number: QTBUG-46868
Change-Id: I70db75291d17dbb2c4db4cfed6c31dc48ab398d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-16 07:39:46 +00:00
Tasuku Suzuki
fa22138afd Add warning for malformed logging rule
Change-Id: I58ccbb77e5ab62e4114a271f199797dd1307a676
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-07-16 07:39:31 +00:00
Kai Koehne
0dd14aaaf1 Define friend functions of QSslEllipticCurve outside of class
Define both qHash() and operator==() outside of the class, like
it is already done for operator!=(). Defining it inside the
class limits it to argument-dependent lookup, which in turn
means that the lookup rules for operator!= and operator==
were slightly different (e.g. if one would compare variables
of a type that is implicitly convertible to QSslEllipticCurve).

As a side-effect, this also fixes a qdoc warning.

Change-Id: I40ab2f8cd2b6b5f42481dd254229a88b678f3f15
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-16 07:38:48 +00:00
Sean Harmer
f2634c3a48 Fix crash in QOpenGLTexture
Any function using the non-dsa helpers and glTextureParameterf() would
crash as this code path failed to initialize the function pointers.

Task-number: QTBUG-47133
Change-Id: I8970c9693ec471a96b135ae5728ab6407ee06a6f
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-07-15 15:58:53 +00:00
Jeremy Lainé
bf36986f50 ssl: improve SecureTransport error logging
This improves SecureTransport logging consistency:

- include error code in SSL error when a native backend call fails
- use qt.network.ssl category for debug / warning messages
- do not use duplicate qWarning when error is already reported via QSslError

Change-Id: I52d457b11f0cef2cc3579305e457663b61b92f3f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-07-15 15:32:51 +00:00
Gabriel de Dietrich
f0f6d16345 QWindowsVistaStyle: Don't use new style background on Controls ComboBox
We use menus to implement the ComboBox popup in QtQuick Controls,
and therefore, all the items are actual menu items. If that's the
case, we can skip the new style background.

Task-number: QTBUG-47084
Change-Id: If46ebf8115b36f45b4b5e6068ddc0d61afe307b8
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-07-15 14:12:20 +00:00
Thiago Macieira
7833f4852a Fix alignment of 64-bit atomics on iOS
The ldrexd and strexd instructions require 64-bit alignment, but Clang
for iOS aligns those types on 32-bit boundaries inside structures. We
can't use Q_ALIGNOF because it returns the alignment for the type inside
a structure.

Task-number: QTBUG-46949
Change-Id: Ib056b47dde3341ef9a52ffff13ef17bede0846f2
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-15 04:53:38 +00:00
Thiago Macieira
6388b30e79 Fix the printing of the ms-since-boot in %{time boot}
Commit 5d366f7e was not correct. The time displayed would always be the
same (the start time of the application).

[ChangeLog][QtCore][Logging framework] Fixed a bug that would cause a
"%{time boot}" field in the logging framework's pattern to always
display the same value, instead of the time since boot.

Change-Id: I255870833a024a36adf6ffff13ecb1dca4a688ed
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-07-15 04:53:37 +00:00
Thiago Macieira
86a79260ca Fix change-of-sign warning with ICC
strlen returns size_t, but -1 is obviously negative.

qglobal.cpp(2261): warning #68: integer conversion resulted in a change
of sign

Change-Id: I255870833a024a36adf6ffff13eb05ce5b2b2595
Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-15 04:53:35 +00:00
Thiago Macieira
c84625f0d5 Fix compilation with GCC 4.9.2 and up in debug mode
Somehow the const int is no longer understood to be an immediate. GCC
4.8 still compiles this fine.

qstring.cpp:316:34: error: the fifth argument must be an 8-bit immediate

Change-Id: Ib056b47dde3341ef9a52ffff13ef24d541833abc
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-15 04:53:32 +00:00
Thiago Macieira
02418d1aaa Set the state of QTemporaryFileEngine properly prior to reopening
QTemporaryFileEngine does not store the pattern, so it needs to get it
again from QTemporaryFilePrivate prior to reopening the file. It's
possible to lose the pattern when remove() is called on the object.

Task-number: QTBUG-46156
Change-Id: I66a35ce5f88941f29aa6ffff13dfc7f83d4fa3a2
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2015-07-15 04:53:30 +00:00
Thiago Macieira
ca60311a60 Fix build on FreeBSD: kinfo_getproc is in libutil
I can't find the function for NetBSD and OpenBSD. There's a good chance
QtCore simply fails to compile.

Change-Id: Ib056b47dde3341ef9a52ffff13efaff642bd7bb9
Link: http://www.freebsd.org/cgi/man.cgi?query=kinfo_getproc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-15 04:53:30 +00:00
Tasuku Suzuki
7839979c07 fix running libQtCore.so failure
It fails when "program interpreter:" is translated.
./lib/libQt5Core.so: cannot execute binary file: Exec format error

Change-Id: I5154decb0401eeb1ba38b286b660b830c6136c22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-07-15 04:53:27 +00:00
Lorn Potter
c056e63cea Make sure to report correct NetworkAccessibility
Task-number: QTBUG-46323
Change-Id: Ibdeb3280091a97d785d4314340678a63e88fb219
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-07-15 01:55:12 +00:00
Milian Wolff
f337e22401 Optimize moc: Remove another temporary list allocation.
In the common case, macroExpandIdentifier was called in the
"not a macro" case, and a temporary vector with a single item was
allocated. Now, we catch this common case at the caller site
and put the single item directly into the result set, bypassing
the temporary list.

Change-Id: I71d92afc486ccdaae5930405d028f53f48073b8c
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-14 22:09:28 +00:00
Mitch Curtis
a889faf0b8 QDial: remove documentation for non-existent functions.
f6dd3ab553 forgot to remove these.

Change-Id: Ia10048d551b309ea3c49818ef51819c93a92c8d3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-07-14 13:11:12 +00:00
Melanie Cappelaere
1dc96612c8 Mangle QNSApplication and methods into a namespace
[OS X] Mangle the event handle related calls on QNSApplication, so that
the events are passed through the correct QApplications when several
Qt5's with different namespaces do UI in the same process.

Change-Id: Ibb44246fbcf4a2bc3af5a93c48db0382a1380328
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-07-14 12:48:34 +00:00
Marc Mutz
a545715c83 QSslSocket: remove code duplication
Since findAllLibSsl() and findAllLibCrypto() differ only in the
filter passed to QDir::entryList(), so Extract Method findAllLibs().

In the new function, cache the filters QStringList instead of re-create
it in every loop iteration.

Change-Id: I1bdd05e83fa1f9bb3f47b9b2ae5da9654ec1525b
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-07-13 22:28:17 +00:00
Marc Mutz
639ef6ca1a QPointer: remove user-declared empty destructor
It prevents the compiler from synthesizing move assignment
and move constructor.

Change-Id: I864d143d5a6233e45f3f2fc343a147db89559f33
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-13 22:27:33 +00:00
Marc Mutz
a082b41d2c QTextEngine: don't hold ItemDecoration in QList
ItemDecoration is larger than a void*, so holding it in QLists
is needlessly inefficient. Worse, the code could come to depend
on the fragile property of (inefficient) QLists that references
to elements therein never are invalidated.

Fix by marking the type movable and holding in QVector instead.

Change-Id: I06d7a77529f7cff2ba503c5e8d6e5df0ad801a21
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-07-13 22:27:14 +00:00
Marc Mutz
f5243c0591 QtWidgets: mark some private types movable or primitive
They are held in Qt containers or QVariant.

Change-Id: Ida1b904120d4fb53a5596f1c3cbc973bd2ca315e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-07-13 22:27:08 +00:00
Milian Wolff
c19e67eb73 Optimize moc: Remove temporary allocations during macro expansion.
Previously, a temporary list was allocated and then fed into the
bigger list of results. Now, we push data into the final list
directly, removing the overhead of the temporary allocation.

Change-Id: I9bea0fd3c23b1434b4be2728c60ac22a66908efc
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2015-07-13 22:27:01 +00:00
Sebastian Schuberth
4efd2ebb27 RegistryKey: Move member variable initialization to the ctor-init-list
In cause of doubt this is more efficient, see

https://isocpp.org/wiki/faq/ctors#init-lists

This also fixes the initialization order to match the declarartion order
of the variables in the class which some versions of GCC otherwise would
complain about.

Change-Id: I642f7156d624c2c65f2f3525d813f5289c092f96
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-13 22:26:45 +00:00
Friedemann Kleint
0d81316dcc Use QImageReader::setAutoTransform() in examples.
Change-Id: If80616d680f1aa6c9d5cd1a4080710e5ad67d603
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-07-13 20:16:35 +00:00