Commit Graph

16658 Commits

Author SHA1 Message Date
Frederik Gladhorn
019588f307 Testlib: Add test duration to xml output
[ChangeLog][QtTest] Added test duration to xml output.
When running tests with xml output a new tag of the form
<duration msecs="123"/> is added to each test function and the test as a
whole.

Change-Id: Ibc4db066b6acf5fac6c578f5e5ca5ce4b5d8ea8e
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-13 07:13:17 +01:00
John Layt
19be46414a QTimeZone - Change from Olson ID to IANA ID
Complete changes from using Olsen/Olson in the code to IANA.  Completes
a change started in 5.2 release branch on the public occurrences.

Change-Id: Ib077fcda2c77eef6f04ec28901d8d2d7210b8c72
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-11 17:23:25 +01:00
Nehme Bilal
20a03d5612 BlackBerry: Add a private PPS API
The PPS API is needed to implement other Qt APIs on BlackBerry.
It is a private API that cannot be accessed from outside Qt (*_p).

Change-Id: Id33d2f9a415f49d51812ae860a15e8cc5636676b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-01-11 02:51:18 +01:00
Donald Carr
151bea6aae Fix namespaced build on Linux
Change-Id: I01f389517824e3ada4e4ab153c41c58f05a246fd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-01-10 23:19:46 +01:00
Thiago Macieira
d82ec6a168 Add -Werror support for the regular Clang, not Apple's
Base modules already work and produce no warnings.

Change-Id: I932d7aaecbe3404f180e185bf1e9fff4d488a05d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-10 19:31:31 +01:00
Friedemann Kleint
6714196f45 QWizard/Windows: Add keyboard shortcut for 'Next'/'Back'.
Task-number: QTBUG-35203

Change-Id: If7312e8675b21be9dc6836b92805dc87007205e7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-01-10 19:14:08 +01:00
Frederik Gladhorn
658d3114d2 Use new connect syntax
Change-Id: I61ada9387c6d09f86afa8ace46257c7e5ef27e72
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-01-10 18:49:05 +01:00
Frederik Gladhorn
7917dfbf1c Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
2014-01-10 18:27:49 +01:00
Gatis Paeglis
b088e4827f Fix bug on X11 with WA_TranslucentBackground and native child windows.
The native child windows need to inherit the parent's visual in order
to have a translucent background as well.

Surface with type QSurface::OpenGLSurface should not be forced to use
the parent window's visual - the parent visual for instance, might not
even be GL capable.

Changing WA_TranslucentBackground during runtime is not supported, for
two reasons:

1) Other platform plugins seem not to support it
2) It would require recreating X windows.

Task-number: QTBUG-29625

Change-Id: Ic1474dd2de99069027481c7db6bf865f9b8d616d
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-01-10 15:37:51 +01:00
Louai Al-Khanji
b9362903b3 Add new direct2d platform plugin
This is an alternative plugin for the windows platform. It shares most
code with the current windows plugin, but substitutes a direct2d-based
paint engine for window backing stores and pixmaps.

Change-Id: I78fafd9c5871fa090b49436f5b40ec80f8789f8b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-10 15:10:29 +01:00
Louai Al-Khanji
5a2fc4c367 Shuffle things around in preparation for Direct2D platform plugin
Add a layer of abstraction in some spots where the Direct2D plugin will hook in.

Change-Id: Ifca7daf6ad0284af52a81822e970c2317d339234
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-10 15:10:29 +01:00
Morten Johan Sørvig
8166a34fc5 Support running Qt apps on the integrated GPU
By default starting an app that uses OpenGL will
switch machines with dual graphics hardware over
to the discrete GPU. This causes a delay at startup
and possibly increased power usage.

It is possible to prevent the switch:

1) Add the NSOpenGLPFAAllowOfflineRenderers attribute
to the OpenGL pixel format. This is done in this commit.

2) Add <key>NSSupportsAutomaticGraphicsSwitching</key><true/>
to the apps Info.plist. This final opt-in is left to
the app author.

Change-Id: Ibff56fd7770a6b7f8041c8bb60bf290eed24330a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-01-10 13:28:13 +01:00
Allan Sandfeld Jensen
db73862302 Avoid unnecessary double conversion over ARGB32 and ARGB32PM
Currently if the converter_map does not have an entry for how to
do a direct conversion, the image is first converted to ARGB32 and
then to the final format. In most cases the conversion to ARGB32 is
the generic converter which convert over ARGB32PM, which mean the data
is converted to ARGB32PM then to ARGB32, then to ARBG32PM and then to
final format.

This patch uses the generic converter directly everywhere there isn't
an optimized converter declared and it is valid.

Change-Id: Ibad57432ef8c58025e63a032b09f92dad4a559ee
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-10 09:44:18 +01:00
Allan Sandfeld Jensen
8bd238041e Clean up qimage.cpp by moving all the conversions methods out
A large part of qimage.cpp is the implementation of the various
conversions methods from one format to another. These methods could all
be moved to a separate file to make qimage.cpp smaller, and possible
later enable more aggressive optimization on the conversions.

Change-Id: I355806710281b4222114cdd9c35a7c28cbc0f692
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-10 09:44:12 +01:00
Tasuku Suzuki
eb5c0f4b12 Make qtbase compile with QT_NO_XMLSTREAMWRITER
Change-Id: I6d2447ba0875117e8a50d1aa3133bd5ea098d51a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-10 04:53:36 +01:00
Thiago Macieira
e0a21c71f4 Don't check if a file exists before opening it
If the file doesn't exist, open() will fail. But open() might fail
even if the file exists(), which would lead to bad follow-up code. In
any case, this saves one unnecessary stat(2).

Change-Id: Ic99507c9dc07a4387ee6a4fe9c24830fca54e095
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-10 02:35:21 +01:00
Thiago Macieira
47a0d64dcf Fix QtWidget function-unused warnings found by Clang 3.4
qwidgetbackingstore.cpp:72:20: error: unused function 'qRectIntersects' [-Werror,-Wunused-function]

Change-Id: Ia3afe8f0547fa86804093281db89efabe68b34a1
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-10 02:33:50 +01:00
Thiago Macieira
52441ecd44 Remove unused member m_eglApi
It's not used anywhere. Found by Clang 3.4:

qeglplatformcontext_p.h:80:13: error: private field 'm_eglApi' is not used [-Werror,-Wunused-private-field]

Change-Id: I37ce240a9d07ef570e0814de366dbb7cd13ad714
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-10 02:33:45 +01:00
Thiago Macieira
17da13baaa Fix unused function warnings in qtriangulator.cpp
qIntersectionPoint with ints wasn't used, qDot was only used in debug
mode. Found by Clang 3.4.

Change-Id: I4b5699f75eb88331df54bf5a289133914d80b299
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-10 02:33:41 +01:00
Thiago Macieira
f4d3196e4f Fix function-not-used warnings detected by Clang 3.4
These functions have been turned to static (although inline), which
means they need to be used or marked as possibly unused.

qglobal.h:712:37: error: unused function 'qFuzzyCompare' [-Werror,-Wunused-function]

Change-Id: Ie2ee713d26c86e0574b579c1ea42b9404c3d2035
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-10 02:33:37 +01:00
Thiago Macieira
bbcdfb324b Fix file descriptor leak in the perf event counter
We opened the counter at every start(), even if we had already started
before. Some of the benchlib's options caused it to start() and stop()
over and over again, like -minimumvalue and -minimumtotal, which could
leak to fd exhaustion (EMFILE).

Change-Id: Ifeb7cca65c758877be600dc22928bea74f499934
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-10 02:33:32 +01:00
Thiago Macieira
eaedc04d90 Autotest: Fix QDateTime failure if the test got run West of Greenwich
There was a comment about the test failing for max() because of an
overflow. That happens if you're at UTC or ahead of it (to the East of
the Prime Meridian), which is how this test usually gets run (UTC,
Europe/Oslo, Europe/Helsinki, Pacific/Auckland). But if you're behind
UTC (to the West of the Prime Meridian), then the overflow happens for
min().

Change-Id: Iebba49d1303e9f18f5038f5cf23c77bf83e5fd4b
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-09 22:49:23 +01:00
Thiago Macieira
0e4d94edd0 Add QTypeInfo<T>::isIntegral trait
This allows us to know whether a given type is an integer or not. It's
going to be useful for QAtomicInteger, to know whether certain
operations can be performed on the type.

Change-Id: Ie64b24993e4021b44c97952d7d3973759fef3d4c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-01-09 22:34:54 +01:00
Thiago Macieira
2b82923c8f Use the new UTF-8 codec in QUrl and QUrlQuery
The new code is based on what QUrl already had, so this should have no
net effect in performance.

Change-Id: Ibb2fabd5a108e99a44e0e6e3f713ce2f8b26e4d7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-01-09 22:34:54 +01:00
Thiago Macieira
cd750c86d6 Use the new UTF-8 codec in QJsonDocument
The encoder is in qjsonwriter.cpp, which requires special handling for
ASCII due to the use of escape sequences. The decoder is in
qjsonparser.cpp, which only scan one character at a time.

As a side-effect, the JSON parser now reports the UTF-8 error in the
first character with error, instead of the last. This is probably what
should have been expected.

Change-Id: I52e5bc30d71466b6a36098b4150c61b2e385d8e9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-09 22:34:54 +01:00
Thiago Macieira
8dd47e34b9 Add a new UTF-8 decoder, similar to the encoder we've just added
Like before, this is taken from the existing QUrl code and is optimized for
ASCII handling (for the same reasons). And like previously, make
QString::fromUtf8 use a stateless version of the codec, which is faster.

There's a small change in behavior in the decoding: we insert a U+FFFD for
each byte that cannot be decoded properly. Previously, it would "eat" all bad
high-bit bytes and replace them all with one single U+FFFD. Either behavior is
allowed by the UTF-8 specifications, even though this new behavior will cause
misalignment in the Bradley Kuhn sample UTF-8 text.

Change-Id: Ib1b1f0b4291293bab345acaf376e00204ed87565
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-09 22:34:54 +01:00
Thiago Macieira
d51130cc3a Add a new UTF-8 encoder and use it from QString
This is a new and faster UTF-8 encoder, based on the code from QUrl. This code
specializes for ASCII, which is the most common case anyway, especially since
QString's "ascii" mode is actually UTF-8 now.

In addition, make QString::toUtf8 use a stateless encoder. Stateless means that
the function doesn't handle state between calls in the form of
QTextCodec::ConverterState. This allows it to be faster than otherwise.

The new code is in the form of a template so that it can be used from
QJsonDocument and QUrl, which have small modifications to how the
encoding is handled.

Change-Id: I305ee0fd8523cc4ec74c2678cb9ea88b75bac7ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-09 22:34:54 +01:00
Matt Broadstone
86fa8b4fb8 Added PropertiesChanged signal to dbus introspection data
QtDBus adheres to the org.freedesktop.DBus.Properties
interface, however there is no current way to include the
PropertiesChanged signal in exposed introspection data.
This change adds that signal to the introspection data,
whether the adaptor uses the signal or not is up to the user.

[ChangeLog][QtDBus][Important Behavior Changes]
QtDBus adaptors now include the PropertiesChanged signal in introspection data

Change-Id: Iee26528b59b30696689a79fb692f93859b42bb49
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-09 22:34:54 +01:00
Milian Wolff
9a789a965a Optimize QObject::senderSignalIndex to only iterate the d->senders once.
QObject::senderSignalIndex is, combined with ::sender(), the current
hotspot in the QWebChannel which makes heavy use of it in its 1-to-many
QSignalSpy implementation.

This patch optimizes the senderSignalIndex by only iterating over the
linked senders list once, instead of twice. I.e. it first iterated over
it to find the signal index, then again to find the sender to convert
to a method-offset.

Change-Id: Ic86aed0dce891b87b953a6ec2364a81695bd4876
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-01-09 21:03:25 +01:00
Christian Loose
955d0df873 Add option NoCancelButtonOnLastPage to QWizard
Add support to hide the cancel button on the last page of a wizard. This
is useful for wizards where the last page is used as a summary page that
should not be cancelled.

[ChangeLog][QtWidgets][QWizard] Added NoCancelButtonOnLastPage option.

Task-number: QTBUG-7484
Change-Id: I282bda55a8dec9cde6439a9285d79e0a5c6df96a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-01-09 21:03:25 +01:00
Tim Blechmann
c8a8e0fb18 zlib: rename z_errmsg symbol to avoid name clash when linking statically
Task-number: QTBUG-35301
Change-Id: I298fba7270ee49d4e2dfc624b18aa13ce25864be
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-09 20:14:48 +01:00
Jan Arve Saether
0efc6e92d8 Use the default height (not 0) if only width is specified
If width was specified, but not height (or vice versa) the actual
window size was not as expected:
* The window width was not the width specified.
* The window height became 0.
This was unexpected, since if both width and height was not specified
it would fallback to becoming 160x160 (on Windows).

However, with the advent of https://codereview.qt-project.org/71999
both width and height might receive sensible defaults based on the
content of the ApplicationWindow, which would mean that it might be
reasonable to expect that you only need to specify one size component
of the window.

This also fixes an assertion in file
..\..\..\3rdparty\angle\src\libGLESv2\renderer\SwapChain9.cpp, line 81
The assertion happened when a window was created with 0 height (but
valid width), and then its height got increased, causing it to become
visible.

Change-Id: Ia9e730418e35d679907bdcc59b00c3c988216c32
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-01-09 19:27:32 +01:00
Allan Sandfeld Jensen
097b0a5316 Use XInput2 scrolling events to enable smoother scrolling
With this patch all wheel events will be generated by XInput2 where
available. This enables higher precision and smoother scrolling
especially from input devices such as touchpads on laptops.

[ChangeLog][Platform Specific Changes][X11 / XCB]Support XInput2 smooth scrolling events

Change-Id: I3b069ed92ad5c53e08af64baaece32de82e9b5c4
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-01-09 19:27:32 +01:00
Mike Fenton
8ca19dde55 QNX: Expand on Virtual Keyboard Support
Add additional keyboard type and enter key support to
QQnxAbstractVirtualKeyboard and update the subclasses for PPS and BPS
to match.

Update the PPS handler to be more streamlined by adding a helper
function to write the encoder and convert from type to string.

Change-Id: I32dbf9d8c44694789b5e24b4f72da8455836ae32
Reviewed-by: Roger Maclean <rmaclean@qnx.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-01-09 19:27:32 +01:00
John Layt
d76f05e955 QPdfWriter - Fix setting of margins
The setting of margins wasn't being passed to the base class, so calling
margins() wouldn't return the new values.

Change-Id: I86c30f28fb0430f4b9d6e180a59cad354b489289
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-09 18:16:02 +01:00
John Layt
c07c9bcf4a QPdfPaintEngine - Remove postscript flag
Remove a now unneeded postscript flag.

Change-Id: I307e4a64aa7ba4eed396530ffbf3bca5ae73e9c2
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-09 18:15:50 +01:00
Mitch Curtis
62c4e288a1 Mitigate performance regression in isExpandedEntityValueTooLarge().
46a8885ae4 fixed a security issue [1],
but also caused a large performance regression. This patch improves
the performance from ~98 seconds to ~.1 second for 1000 entities,
using the benchmark in the bug report:

"0": 0 msecs per iteration (total: 0, iterations: 1)
"250": 1,547 msecs per iteration (total: 1,547, iterations: 1)
"500": 12,254 msecs per iteration (total: 12,254, iterations: 1)
"750": 45,506 msecs per iteration (total: 45,506, iterations: 1)
"1000": 98,112 msecs per iteration (total: 98,112, iterations: 1)

"0": 0 msecs per iteration (total: 0, iterations: 1)
"250": 6 msecs per iteration (total: 6, iterations: 1)
"500": 25 msecs per iteration (total: 25, iterations: 1)
"750": 58 msecs per iteration (total: 58, iterations: 1)
"1000": 102 msecs per iteration (total: 102, iterations: 1)

[1] http://lists.qt-project.org/pipermail/announce/2013-December/000036.html

Task-number: QTBUG-35919

Change-Id: I6a6a1a6b606a8033a8f66e294cb55bbd8bdb8a03
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-01-09 17:54:24 +01:00
Shawn Rutledge
7c03f00a4e GTK FileDialog: don't convert QUrl to QString prematurely
File dialog APIs are being converted to QUrls as much as possible.

Task-number: QTBUG-35947
Task-number: QTBUG-35948
Change-Id: I98d86249ac5018c3b7439065ae6ad7f1c7422a08
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-01-09 17:54:23 +01:00
Oswald Buddenhagen
08127d93b4 don't make msvc see digraphs
Task-number: QTBUG-35816
Change-Id: I996a86233f771d6a466c5c5eb6116df14cd00dbd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-01-09 17:48:32 +01:00
hjk
48f1ebc040 Add QVarLengthArray::{indexOf,lastIndexOf,contains} functions
[ChangeLog][QtCore][QVarLengthArray] Added the indexOf, lastIndexOf and
contains functions to QVarLengthArray.  These functions make the class
more similar to QVector.

Change-Id: I9bd2b22bd8b7151c2d17aede36e5f2126570600b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-01-09 17:42:22 +01:00
Friedemann Kleint
b4c28856f1 Windows: Silence warning in QWindowsFileDialogHelper::selectFile().
The function is invoked from the QFileDialog constructor in
save file mode when passing a non-existing file.

Task-number: QTBUG-35703

Change-Id: I5c13efb9b6789404b28739f6ce88ed87b594b6e4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-01-09 12:28:52 +01:00
Friedemann Kleint
131a511194 Ensure that the Qt5Core library does not contain "QTMETADATA ".
In the event the plugin loader encounters it due to some configuration
problem, it is otherwise detected as a plugin causing a crash
when trying to read the meta data.

Task-number: QTBUG-35970

Change-Id: I34182b3a61125e3b192dfd4b1dc03bd1e98c693e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-01-09 12:28:46 +01:00
Tomasz Olszak
3867bc5a10 Send DynamicPropertyChange event only when value is changed.
According to docs DynamicPropertyChange event should be sent from
setProperty function only when property is added, removed or
changed.

Change-Id: I080a27a4119a63580b03172f4b5b367338c6f440
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-01-09 12:14:42 +01:00
Sérgio Martins
f0f6c1d0ed Fix evdevtouch build with -qtnamespace
Change-Id: Ibac69cfa44eff33d8cc172fc16cf105fff4c12b1
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-09 00:10:07 +01:00
Allan Sandfeld Jensen
b28764c641 Inplace versions of QImage rgbSwapped() and mirrored() for rvalue refs
Adds inplace version of QImage::rgbSwapped() and QImage::mirrored() that
can be used on temporary QImage objects when supported by the compiler.

[ChangeLog][QtGui][QImage]Rvalue qualified mirrored and rgbSwapped methods for inline conversions
Change-Id: I4ffb658bf620dfc472d9db14c1aa70291c1fd842
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-08 18:08:47 +01:00
Frederik Gladhorn
af9910e450 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-08 15:51:02 +01:00
Allan Sandfeld Jensen
635bfd6606 Move no-pch extra compiler to common features
As we add more classes with RValue ref qualified methods we will need
the same _compat trick and no-pch support as QString.

This patch moves the extra compiler to precompile_header.prf which is
automatically included when pch is used.

Change-Id: I422a355fd11f499ce0648a90b0385f2a6f699fcb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-08 15:47:28 +01:00
Joerg Bornemann
46b397d67f fix detection for multiple VS installations
In the case of multiple VS installations, a static variable wasn't
initialized. That led to wrong values in subsequent calls of the
detection function.

[ChangeLog][qtbase][qmake] fix detection for multiple VS installations

Task-number: QTBUG-35530
Change-Id: I3fc23bc99679fff640f39578a7074d16fe923334
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-01-08 13:05:55 +01:00
aavit
6f1b82fccd Fixes: 32 bit and alpha bmp format image reading
The bmp handler would ignore the high byte of a 32bit bmp. It
would also ignore any alpha channel.

The actual change is really simple; it just adds the alpha_* members
and the reading of the 4th byte in 32bit depth. However, detection
of alpha channel required switching the order of two independent
blocks of code, hence the size of this patch.

[ChangeLog][QtGui] Support reading bmp images with alpha channel

Task-number: QTBUG-35220
Change-Id: Ib133c3644c03c5cfc728f5fa2c837219804e69ae
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-01-08 09:40:50 +01:00
Sérgio Martins
cd44f363ff Mark QTzType as Q_PRIMITIVE_TYPE.
sizeof(QTzType) == sizeof(void*) on my platform, so it will benefit
from the type info classification.

Change-Id: I07146372da4381dba72da3718bc9c0b76a22b4fb
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-01-08 01:24:33 +01:00