Commit Graph

15928 Commits

Author SHA1 Message Date
Juan Luis Boya García
c15e8517ef Fix bug in updatePossibleKeyCodes() with dead keys and modifiers
As it was until now, QWindowsKeyMapper::updatePossibleKeyCodes() tested
using ToUnicode for which characters produce a key with every possible
combination of modifiers.

Calling ToUnicode with a dead key is dangerous, because MS Windows keeps
it in the driver buffer, so if you call ToUnicode with acute key and
then you press a, you get an á.

To prevent this, updatePossibleKeyCodes() checked if the key that was
being tested was a dead key. If true, it inserted an space and then
repeated the key in order to reset the system internal buffers to the
same state they were before the call.

The problem with this is if the dead key is really two keys (like ^ or ´
in US International keyboard layout) and you press one of those keys
without the modifier to make it a dead key (i.e. 6 in US International):
Since updatePossibleKeyCodes() only tests for the key that was pressed
it gets 6 is not a dead key, and thus it does not execute the
workaround. Thus, the next time the user presses 'a' they get 'â'
instead because updatePossibleKeyCodes() set the dead key on the
keyboard buffer and did not run the workaround.

This patch makes updatePossibleKeyCodes() run the workaround if any
possible combination of modifiers with the key being examinated makes a
dead key.

Task-number: QTBUG-33591
Change-Id: I8c0b27586f7c62798986258b1b84aa90e4c5d64c
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-25 14:51:30 +02:00
Juan Luis Boya García
fcebbaeba3 Fix virtual key mapping on MS Windows
In order to map MS Windows virtual keys to Qt keys without messing with
dead keys now I use the built-in keyMap structure of QWindowsKeyMapper
and assert every cell in the keymap is properly updated.

In order to guarantee this even when the user changes the keyboard
layout, WndProc now manages the WM_INPUTLANGCHANGE message, which is
handled by QWindowsKeyMapper, resetting the layout structure.

I don't fully understand yet some things about QWindowsKeyMapper, i.e.
how QWindowsKeyMapper::updatePossibleKeyCodes workarounds the dead key
issue with ToAscii; but it seems to work fine in all the tests I've
done. Any further testing is highly appreciated, though.

[ChangeLog][[QtGui][Platform Specific Changes][Windows] Fixed virtual key
mapping on Windows.

Task-number: QTBUG-33409
Task-number: QTBUG-8764
Task-number: QTBUG-10032

Change-Id: I4f7709a90906b03f4504deea1ff5c361e9f94b3f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-25 14:51:30 +02:00
Oswald Buddenhagen
c3f6a5d93b kill unix_to_dos script
there is really no point in having such a thing here.

Change-Id: I2ffa2e911fadda1db2e402c05d59a7c88ddb30b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-25 14:51:30 +02:00
Kai Koehne
39cffc4e34 Remove superfluous 'libudev ...' line
Status for LIBUDEV printed again in the configure output under 'udev ....'

Change-Id: I3e0beca4c6de315dc2dfbdc24d83f4d9cd2b8856
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-25 14:51:30 +02:00
Morten Johan Sorvig
c1815a7b3f Fix compile warnings on 10.6
Apple clang 3.0 complains about missing function
declarations. Add them.

Change-Id: Ib9c3c238c94e8649844cf3e67a659875ad549ecb
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-10-25 14:51:30 +02:00
Richard Moe Gustavsen
42e6801843 iOS (OSX): rework how to bundle QML import folders
Before this patch, we would copy "$QTDIR/qml"
directly into the bundle as "qml". This would cause problems
if the user also tried to deploy qml files to a "qml" folder, or
if any other file in the bundle ended up with the name "qml" (which is the
case for QtDeclarative/tools/qml, where the executable is called "qml").

This patch will instead copy the contents of each import folder
into QMAKE_QML_BUNDLE_PATH, which will default to "qt_qml" on iOS
and "Resources/qt_qml" on OSX.

We also change the implementation to use a post script rather
then QMAKE_BUNDLE_DATA for two reasons:
1. Xcode does not like "copy build phases" to copy folders, only
    files (You cannot even create such a phase from Xcode, although
    it is possible to force it the way we create project.pbx. But
    this was error prone)
2. We need to strip away unneeded files from the bundle, like
    archives (which are linked in statically, not dlopened run-time).
    Using rsync lets us copy and strip in one operation.

Change-Id: I7c2117f6cfbe11efdc272dff71adb0b1e619a5ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-25 12:32:31 +02:00
BogDan Vatra
27f2b97155 Cleanup java files.
Remove unused imports

Change-Id: I9752ff3593cf97153133381736ef3c8c62898bd7
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-10-25 12:29:43 +02:00
Joerg Bornemann
59ae8323b7 win32-msvc2013: force synchronous writes to .pdb files
Synchronize .pdb file writing, otherwise parallel builds
will fail, when different compiler instances try to access
the same .pdb file.

See also
http://msdn.microsoft.com/en-us/library/vstudio/dn502518.aspx

Change-Id: I4998f10458d320fd98d633eded02d90bf25ed884
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-25 12:29:43 +02:00
Frederik Gladhorn
9a369a25dd Accessibility: Make it possible to send events with no QObject
Change-Id: Icbb9d15ec52ff5f7718eaf3600cab140971274aa
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-10-25 12:29:43 +02:00
Eskil Abrahamsen Blomfeldt
8fd9fe2099 Android: Fix repaint on rotation
After f89f099c55, we no longer
post a geometry-change and expose event when calling setGeometry,
which the Android plugin depended on. This caused the window to
stay the same size when it was resized by orientation changes.
We put back the events in the code that calls setGeometry()
instead.

Task-number: QTBUG-32878
Change-Id: I449515dda07c839e0991c5a7031a972ca9c74dff
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-25 09:52:37 +02:00
Marc Mutz
f609e65a91 QImageWriter: add a forgotten #ifndef QT_NO_IMAGEFORMAT_BPM
The equivalent code in qimagereader.cpp has this, so add here, too.

Change-Id: I0313727f009db5cb00ee9ce0540ba2674da49ccd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-25 02:27:45 +02:00
Robin Burchell
e25a4faf4a Remove gstreamer configure test.
Nothing in qtbase uses gstreamer, so this is just a red herring.

Change-Id: I93fb20a70928d84fed8f33ca4c5df38779928f1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
48b107ecfe make better use of $$MODULE_PLUGIN_TYPES
the module project files declare what plugins they need, as that is
necessary for automatic android deployment.
enable wider usage of this by making the information available from the
module .pri files.
caveat: the variable is called "types", but is in fact paths, so there
can be particular plugins named.

use this new facility to replace the egregious hard-coded list of
plugin-to-module mappings from create_cmake.

possible todo: automate populating DEPLOYMENT (for wince, and whatever
else).

Change-Id: Ibb9c07cfe2b0008905204cbeb81e9c8e2ae4dc69
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
16f4bc5b63 rewrite handling of private modules
instead of being magic attributes of the main modules, the privates
are now proper modules of their own.

this cleans up some code paths, is more mappable to other build tools,
and enables private modules to depend on other private modules.

note that the library path is needed even in the "empty" private
modules, as in the framework case that's where headers are found.
consequently, the modules need to be explicitly marked with the new
"no_link" flag. this required some reorganization of qtAddModule().

Change-Id: I8e4f44a609f8d639cc01bcb658256870a627eb63
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00
Friedemann Kleint
dff6d73d6c Introduce Windows version 8.1 and detect by checking the version.
Change-Id: I04012218c34f7a95a87fcf2dc7fc095f0e743e67
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
2013-10-24 20:20:59 +02:00
Stephen Kelly
3a7025ffac CMake: Ensure that the EXECUTABLE_COMPILE_FLAGS list exists
This is needed to ensure that list(REMOVE_DUPLICATES) can work.

Change-Id: I3d992aa244fcdfbda7e3b48ce416e0ba5ffcde96
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-24 20:20:59 +02:00
Stephen Kelly
c0e826e244 Set PRIVATE includes variable to empty, not undefined.
This is necessary so that list(REMOVE_DUPLICATES) works properly.

Change-Id: Id268637d76b1a8785c9ff0c6e09e9ad8a62bbfb6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-24 20:20:59 +02:00
Tor Arne Vestbø
1cdbe4752b qmake: Expose qmake arguments as QMAKE_ARGS
Allows project files or mkspecs to call qmake recursively using system()
with the right arguments, which we use to fix the ios default_post.prf.

Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-24 20:20:59 +02:00
Kai Koehne
c584f3d9a8 Fix check for ICU on MinGW
Newer ICU versions do not generate a .lib file any more ...
Also the check doesn't take e.g. static debug builds into account.
Instead of trying to enumerate all possible variations, just rely on the
header check. That's what we're doing for the other libs, too.

Change-Id: Idc0527f0e8ad90f298337d4ab635c7aa6a35c351
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
e658f70b85 don't explicitly exclude qconfig.h when building moc
it excludes itself for bootstrapped builds.

Change-Id: I22fa969c47ff69eab8c96bf0917b0859c65b2fd9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
75454e84ea remove pointless "SeeAlso: ???" entries
Change-Id: Iaca0a4f81720b3c20291e91a08fbb617b104330e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
c9ae856417 document format of entries
Change-Id: I94c169b03844a7091ab98a9689a19ef27e665509
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
363cebe6b1 purge auto_use_privates module option
it was introduced as a hack to simplify writing tests, but the change to
make use of it was backed out of testlib and nobody seems to care.

Change-Id: Icc86621b865276e86593afdb923247bbdca19d49
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00
Friedemann Kleint
b66a217a1c ANGLE: Fix compilation with MSVC2013.
Add missing include for std::min(), std::max().

Change-Id: I740e5db94f9f958ac65de8dd7baab7e203482637
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-10-24 20:20:59 +02:00
Friedemann Kleint
9ae94806ad ANGLE: Fix fxc path setting for MSVC 2013.
Change-Id: I7be4dbd948052d069bb1b97d759d6fc5099236f9
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00
Geir Vattekar
febeb2d9cd Doc: Added iOS examples to manifest-meta.qdocconf
Task-number: QTBUG-33593
Change-Id: I7aaa1230d7ed6294ddd5a3db6466894522136393
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-24 14:36:22 +02:00
Kai Koehne
2e3870fe37 Reserve some space for future use in QLoggingCategory
Currently Qt offers only debug, warning, critical message types for
general use. Most logging frameworks offer more ... let's save
some space for future message types.

Change-Id: Icb4333da5c8f5277fd10d8a01b06d95369662bdc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-24 10:18:26 +02:00
Sean Harmer
6d3e821349 Remove doc references to non-existing functions in QSurfaceFormat
Change-Id: I5a9de5b719e111e47a1ea7334609695f1db6149a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-24 00:32:08 +02:00
Jonathan Hoffmann
5cc76dae7e BlackBerry: improve BPS event lifetime management
In QEventDispatcherBlackberry::select(), if an event handler called
through filterEvent() starts a nested event loop by creating a new
QEventLoop, we will recursively enter the select() method again.
However, each time bps_get_event() is called, it destroys the last
event it handed out before returning the next event.  We don't want it
to destroy the event that triggered the nested event loop, since there
may still be more handlers that need to get that event, once the
nested event loop is done and control returns to the outer event loop.

So we move an event to a holding channel, which takes ownership of the
event.  Putting the event on our own channel allows us to manage when
it is destroyed, keeping it alive until we know we are done with it.
Each recursive call of this function needs to have it's own holding
channel, since a channel is a queue, not a stack.

However, a recursive call into the select() method happens very rarely
compared to the many times this method is called.  We don't want to
create a holding channel for each time this method is called, only
when it is called recursively.  Thus we have the instance variable
d->holding_channel to use in the common case.  We keep track of
recursive calls with d->loop_level.  If we are in a recursive call,
then we create a new holding channel for this run.

Change-Id: Ib3584676d2db5a9a3754a1535d5fb6c9e14f5dbb
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-10-23 19:09:54 +02:00
Wolfgang Bremer
fe61f2d6b2 Rename BlackBerry arm mkspecs to be aligned with NDK structure
The current NDK uses CPUVARDIR variable to define whether x86 or armle-v7 is used.
Therefore, the whole structure uses these two definitions to separate simulator
and device builds. Renaming blackberry-armv7le-qcc to blackberry-armle-v7-qcc
allows to directly use CPUVARDIR during Qt5 builds.
For compatibility reasons the old folder is kept and includes the new qmake.conf.

Change-Id: Ia7feeeabe16eda48140a65178af28cbb9bd085a9
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-10-23 19:09:54 +02:00
Friedemann Kleint
d8745d249f Windows: Handle WM_SYSCOLORCHANGE as theme change.
Task-number: QTBUG-34170

Change-Id: I6ca11ab67c1e2752300fc167fb8f3c4f0d9ae2b8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-23 19:09:54 +02:00
Friedemann Kleint
7c1b39705c Fix crash in QXcbDrag.
handleStatus() was called with drag==0 when releasing the mouse over the
desktop.

Task-number: QTBUG-33920
Change-Id: I553647d1e734934b7c6caf4c984683cff88f9162
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-10-23 19:09:54 +02:00
Kai Koehne
17809b41a6 Fix typo in check for MINGW_W64 version
Got introduced in 9b187bcd6a256b53cc2fb85500

Change-Id: I1d713f8309d3d8568ea836cc1d29f9dca685ac01
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-23 19:09:54 +02:00
Venu
e55ecc4a55 Doc: Added a link to the Qt Quick Test page
Task-number: QTBUG-33316
Change-Id: Ib8c479837cac4b7cca47b979cbb2dad0aaae6412
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2013-10-23 19:09:54 +02:00
Shawn Rutledge
7e30d3afd3 QFileDialog can delete files too, not just directories
After Ic12de12ec51c20de52d040514e90be5e783add43 this functionality
was broken.  Added an autotest.

Task-number: QTBUG-34159
Change-Id: I8f41b7073dc57fea855ab87796f09e8a91520d13
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-23 19:09:54 +02:00
BogDan Vatra
483a9d83f0 Don't crash if the platform plugin is not initialized
Change-Id: I999411816192edbd2bf40c6bda92d6e94fb3d1b0
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-10-23 14:08:36 +02:00
Oswald Buddenhagen
f3785471b7 de-duplicate QT_MODULES
Change-Id: I8f1bf08070abb1ba05a4fdb14e7de9e7da5b3ec7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-23 13:43:27 +02:00
Oswald Buddenhagen
7d462a2fb4 return()-related break() insanity is not necessary in qt5
Change-Id: I593c7160e44d51d25dee76c56c2e5580345ab42a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-23 13:43:23 +02:00
Oswald Buddenhagen
a0a0b6446c don't suggest to use qtAddModule(), it's internal API
Change-Id: Idf01d0dd74a0708014b7fca33611535c604a75f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-23 13:43:19 +02:00
BogDan Vatra
0096264800 Fix deploy mechanism.
The order of "android:value" and "android:name" attributes can be changed when
saving the XML document. Use placeholders instead.

Change-Id: I9a97bb0df2d2d16c8a9443a21ce7d3290e0ab466
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-23 13:23:12 +02:00
BogDan Vatra
744a201853 Move untranslatable stings to AndroidManifest.xml
strings.xml file is used to store strings that can/should be internationalized.

Change-Id: I2fc305b6917752e9f502bd4beb172205ba4f9fba
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-23 13:22:57 +02:00
Gunnar Sletta
cbcfbd798f Rely on isLayered() to decide layering
The logic here was a bit broken. Every QWindow has an opacity
which is 1 by default so the expose was hit for every single
window, regardless of it being layered or not.

Change-Id: I04873cd5db1cd147708e7de140f5947d3a01e9e1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-23 13:15:54 +02:00
Jonathan Liu
5d8a882c11 Fix misaligned selection region with text when centered
If the text is centered, the x/y position in the selection QRectF may
be a multiple of 0.5 which is rounded up. This rounding causes
misalignment of the selection region with the text.

The alignment is fixed by using qFloor on the x and y components.

Task-number: QTBUG-34218
Task-number: QTBUG-34234
Change-Id: I4f2fadeb38602f62a93773c6e5faecf03b28069f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-23 10:54:44 +02:00
Paul Olav Tvete
aa7fa09312 Android/LinuxFb: fix QWidget::showFullScreen()
Previously, showFullScreen() had a race condition: it depended
on QFbScreen::setGeometry() being called after the window state was
set (that would trigger QPlatformScreen::resizeMaximizedWindows(), which
was the only part of the code that reacted to WindowFullScreen).
On Android this caused random behaviour.

Task-number: QTBUG-33294
Change-Id: I228e6af4139af1a47387e7d80757d7b46e859580
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-23 10:19:10 +02:00
Paul Olav Tvete
bd3f3f31bf Android: Make platform menu more robust
Don't crash and lock up the whole device when people try to
remove menu items that don't exist.

Task-number: QTBUG-34246
Change-Id: I4396d252c5af93e021c9e218dbab7c0e7f190d9d
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-23 10:18:45 +02:00
J-P Nurmi
a83983d861 QTextHtmlParser: restore the default link color from app palette
The default link color used to be resolved to the link color of the
application palette, but got lost during the Qt 5 modularization (see
commits 7351a43 and 3f9a7f9).

Task-number: QTBUG-28998
Change-Id: I7f07427f6c03f83c557100938ad9f7a39349d303
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-10-23 00:01:44 +02:00
Matt Hoosier
163bbeb218 Detect pointer size at configure-time on Windows-hosted builds
The configure-time procedure used on Windows does not currently
perform the same tests to determine the width of a pointer as are
performed on Unix-based builds.

This causes QT_POINTER_SIZE to be undefined in the generated
qconfig.h file. This in turn breaks compilation of various Qt modules
such as QtDeclarative.

This patch adds the same level of support for automatically
determining the target platform's pointer size, as is currently
offered to Unix users.

Change-Id: I93838c1759b14089ba9f4daf442048fb5c8da738
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-22 12:15:57 +02:00
Oswald Buddenhagen
377c7575a7 don't load wayland-scanner for all projects on linux
it's wasteful, given that exactly one add-on module (and most probably
nobody else) needs it.

i'd do the same with yacc and lex, but i suspect this would cause quite
an uproar.

Change-Id: Ic2a6ca19e829393835f824e31cd0893e78c3fd39
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-22 12:15:57 +02:00
Kai Koehne
9b187bcd6a Fix compilation with latest MinGW-w64 (release 3)
Now that MinGW-w64 fixed the headers the old hack actually break stuff.

Change-Id: I1f60b9176982f6c07e01f3960bc1d7e70d7f9481
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-22 12:15:57 +02:00
Gunnar Sletta
72a7882cec Better QWindowContainer by not relying on native widgets.
We change the behavior slightly from the initial implementation in
5.1. Forcing the use of native child widgets is causing massive
performance issues so instead, we attach the embedded QWindow directly
to the root window. The only exception is QScrollArea and QMdiArea
which still enforces native windows for the entire parent chain
to make clipping and stacking work.

Task-number: QTBUG-34138
Change-Id: If713637bd4dce630552ace2f8ad6b2e86c063721
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-22 10:46:21 +02:00