Commit Graph

17942 Commits

Author SHA1 Message Date
Marc Mutz
35ed65b1a9 QStringList: use a functor instead of a function pointer for std::sort
A function pointer requires aggressive optimization to inline. A function object
otoh is inlined by compilers two decades old.

Even shaves off 544B in text size off of a -O3 GCC 4.7 QtCore build.

Change-Id: Ibfd41654257360fa0f118701f502e6c23a6c28b3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-31 22:54:14 +02:00
Marc Mutz
adf0db5243 QStringList::join: micro-optimization
Don't call that->size() if we have already saved its value in a local temp.

Surprisingly, this saves 56B in text size even on a -O3 GCC build, proving
that the compiler does _not_ have enough context to const-fold the repeated
size() evaluation.

Change-Id: I2c41ddc4376f4e1534fc2f0d4789e42b984d3ba6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-31 22:54:14 +02:00
Marc Mutz
47d2d19cf6 QStringList: add op<< overload for QList<QString>
QStringList << QList<QString> already compiled, but was interpreted as
QStringList << QStringList(QList<QString>), which involves the QList
copy ctor. Adding the overload saves that copy.

Cannot use a using declaration here, since the return type is different.

Change-Id: I119cc98e7e2df24549a1abb158543b729edc30ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-03-31 22:54:14 +02:00
Marc Mutz
2a9d3b7a46 QStringList: remove copy ctor
The compiler-generated one is just fine, and enables the move constructor
inherited from QList, too.

This is BC and SC since QStringList isn't exported.

Change-Id: Ic49000d9feb66504d7ec7e5d519e7a13ca9e5d9e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-31 22:54:14 +02:00
Marc Mutz
c3a2fe6436 QCUPSSupport: Extract Method bannerPageToString() from setBannerPages()
The new function just converts the job-sheets cups option argument,
reducing the number of almost-identical switch statements to one.

Effects on a stripped Linux AMD64 GCC 4.7 -std=c++11 -O2 build:
  text: -1008B
  data:   +-0B
  relocs: +-0

Change-Id: I56843fa963e098e5c8ae203584f34bf5798667e6
Reviewed-by: Martin Klapetek <mklapetek@kde.org>
Reviewed-by: John Layt <jlayt@kde.org>
2014-03-31 22:54:14 +02:00
Marc Mutz
c36746a829 QCUPSSupport: Extract Method jobHoldToString() from setJobHold()
The new function just calculates the job-hold-until cups option argument,
reducing the number of setCupsOption() calls down to one.

Effects on a stripped Linux AMD64 GCC 4.7 c++11 release build:
  text:  -552B
  data:   +-0B
  relocs: +-0

Change-Id: I4aa4118c3493cd302dd8fd7f4985c7e0f70ef071
Reviewed-by: Martin Klapetek <mklapetek@kde.org>
Reviewed-by: John Layt <jlayt@kde.org>
2014-03-31 22:54:14 +02:00
Dimitar Asenov
3270b4490b Add a new optimization flag to QGraphicsItem.
The new flag ItemContainsChildrenInShape is similar to the existing
flag ItemClipsChildrenToShape. Setting the new flag makes QGraphicsScene
assume that children are drawn within the shape of the current item
but this is not enforced by clipping. When an application manually
ensures this clipping boundary, setting the new flag removes the
overhead of enforcing the clip with ItemClipsChildrenToShape, while
still allowing other routines to behave more optimially by assuming
children are within the shape of the current item.

[ChangeLog][QtWidgets][QGraphicsItem] Added the
ItemContainsChildrenInShape flag that enables using optimizations
of ItemClipsChildrenToShape without the overhead of enforcing the clip.

Change-Id: I5496fe1ca331b77fd51e0df8a3ace2b8e939eaf2
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2014-03-31 22:54:14 +02:00
Martin Smith
d13d03f012 qdoc: Unexplained empty ref attributes in qhp files
This update fixes a bug introduced by the extensive changes
for QTBUG-35377. Three node subtypes - Group, Module, and
QML module, were promoted to be first line node types in the
update for QTBUG-35377. This broke the file name construction
routine for those node subtypes, which used to have the DocNode
node type. This caused empty ref attributes to appear for those
keyword elements in the qhp file. The file name construction
routine has now been corrected to account for this.

Task-number: QTBUG-37658
Change-Id: I307979255fdfd48493b3a4cebaf996b2130bc2c7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:30 +02:00
Martin Smith
2ea15849a0 qdoc: \l{Qt::Window} links to the wrong page
kThis update fixes a bug introduced by the extensive changes
for QTBUG-35377. The name Qt represents two namespaces, one
in C++ and one in QML. The name "Window" is used in both of
them, so the link \l{Qt::Window} would cause a collision in
the single tree qdoc. In the multiple tree qdoc, there is
no collision, but in this case the link should have gone to
the C++ page and it went to the QML page instead. The fix
involved correcting the way qdoc searches for link targets.

Task-number: QTBUG-37633
Change-Id: Ib9b209eced937a0be0d3299f300ebf22b2776012
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:23 +02:00
Martin Smith
900c150a07 qdoc: fix inheritance information for some QML types
This update fixes a bug introduced by the extensive changes
for QTBUG-35377. For a QML base type loaded from an index file,
its QML base type was not being resolved. This resulted in the
"All members" page for some QML types to be incomplete because
the pointer to the base type was 0 when it should have been set.
This change also introduces the concept of "just in time"
resolution for base type pointers, which appears to speed up
qdoc a little.

Task-number: QTBUG-37326
Change-Id: I5f09336ec70ba84029b44b245c56f7f8fe349757
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:16 +02:00
Martin Smith
c55d437d29 doc: Remove "current child" code
The current child concept was added to the Name
Collision Node to heuristically provide better
linking when a link operation reached a collision
node. It is doubtful that this improved linking
much, but now that qdoc uses multiple trees, it
is much less likely that collision nodes will
occur. In fact, there are none in in the current
Qt5. Therefore, the current child code is hereby
removed from qdoc.

Task-number: QTBUG-37067
Change-Id: I33aea5d550afb7ceaf941d49112e02c21d44f6dc
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:07 +02:00
Martin Smith
a9d75c8eb8 qdoc: Teach qdoc to use multiple trees (part 3)
With this update, qdoc is now ready for testing
with multiple trees. In making this change to using
multiple trees, it has become clear that qdoc does
not really need trees the way it currently uses them.
Each C++ class or namespace, or QML type is naturally
a tree tree structure, but above that level, what we
currently call a tree in qdoc should really be called
a collection of maps. This change has moved qdoc in
that direction. It remains to replace the Tree class
with a class that encapsulates a set of maps, one for
each major node type. That can be implemented later.

Task-number: QTBUG-35377
Change-Id: I39068a0cb26c01f14ec0e4621742d727efb913bf
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:05:00 +02:00
Martin Smith
5fecc6512f qdoc: Teach qdoc to use multiple trees (part 2)
qdoc now knows how to search the forrest of node
trees in an optimal order. But there remain some
problems with specific searches that cross module
boundaries. These include group membership and C++
and QML module membership, as well ass C++ base
class resolution. Part 3 will be concerned with
fixing these remaining bugs.

With this update, qdoc now takes less time to
generate the docs for Qt 5. Testing indicates
that qdoc run time has dropped from about 14
minutes to about 7.5 minutes on an iMac.

Task-number: QTBUG-35377
Change-Id: I6bded6ef54124b4f6e5914cad4548f0b600209b0
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-03-31 21:04:52 +02:00
Martin Smith
e9954e3162 qdoc: Teach qdoc to use multiple trees
qdoc now builds a separate Node Tree for each index
file it parsed. The main Node Tree now contains only
the Nodes of things being documented in the current
module. This should make qdoc run a little faster.

qdoc now uses these separate trees to make intra-module
and inter-module linking more robust by searching the
trees in an order that depends on the type of link it
is searching for. The tree for the current module is
always searched first. Then qdoc searches the trees
for either the C++ modules or the QML modules, depending
on whether it is looking for a C++ link or a QML link.

In preparation for this update, qdoc was also simplified
a lot. Many functions became obsolete and were removed.
Others were combined.

Task-number: QTBUG-35377
Change-Id: Iea4e49869ff6a6ff0f4d53090728770d40d892f3
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-03-31 21:04:43 +02:00
Mitch Curtis
4f50be8d18 Properly serialize QFont.
Some data was never serialized (styleName, hintingPreference) and
some was incorrectly serialized (styleStrategy). This change also adds
auto tests for every applicable QDataStream version.

[ChangeLog][QtGui][QFont] QFont now serializes its data properly,
without any data loss.

Task-number: QTBUG-22814
Task-number: QTBUG-22946

Change-Id: I34e61b10662b7ad6c57054dacc7e1f522f5b5c5d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-03-31 17:45:47 +02:00
Mitch Curtis
bd822bedfe Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-03-31 17:45:37 +02:00
Marc Mutz
84c10500b1 QVector: add removeOne(), removeAll() for QList compatibility
Eases migration from QList to QVector.

[ChangeLog][QtCore][QVector] Added removeOne(), removeAll() for
QList compatibility.

Change-Id: I4211afb2e077c187d0a39f0ac4528f0c66721fb3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-26 00:21:22 +01:00
Marc Mutz
9157a1f97a QVector: add more insert() tests
Add more insert() tests, since the existing ones only covered
the index-based insert() variant and only movable types.

Change-Id: Ifce7a67be0bef45f926f13521873a1d77430e1e3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-26 00:21:15 +01:00
Marc Mutz
c18db50658 QFbScreen: replace a use of an inefficent QList with QVector
A QPair<QRect,int> is larger than a void*, so better use
a vector to hold them.

Change-Id: I8f0e65836008803b7f619a22ab3a0db1bd493471
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-26 00:21:15 +01:00
Marc Mutz
9f830c3975 QFbScreen: fix foreach loops to declare QRect loop variables as const-&
Change-Id: Ieb388b8e1db848bac50ce17488fef04958450689
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-26 00:21:15 +01:00
Marc Mutz
4a35b05b85 QImageReader/Writer: replace dubious use of QSet<QByteArray> with QList
The code populated QSets with some strings and went
on to copy the values to QLists. Since QSet is unordered_set, those
lists were not sorted, so the code did that manually.

Since QSet is a node-based container and not even an ordered one,
the code pays a hefty price just for ensuring uniqueness of values
prior to sorting.

The new code just crams everything into lists, duplicates and all,
then sorts the lists and only then removes duplicates using
std::unique.

Saves 3376B in text size on Linux AMD64 GCC 4.9-trunk release
stripped QtGui.

Change-Id: Ifee931102c01b7505c712cebf4effc37e94165b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-26 00:20:53 +01:00
Laszlo Agocs
a480cd8147 Do not pull in egl for QtGui and QtOpenGL
This must be some leftover: there are no winsys interface dependencies
outside the platform plugins.

Change-Id: Idde64699a5335155bdda745e78d6edbc68a8711b
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-03-25 17:11:54 +01:00
Andrew Gatt
1d4a1be1af Add: absolute touch screen handling in evdevmouse
Some touch screen drivers present themselves as mice with absolute
coordinates. Setting QT_QPA_EVDEV_MOUSE_PARAMETERS=abs will force
qevdevmousehandler to use absolute coordinates, mapped to the screen
from the hardware maximums. These maximum values are read from the
driver using ioctls.
This feature can be safely used with mice, as the features checks will
fail and qevdevmouse will revert back to using relative coordinates.
This way touch screens and mice can work together.

Change-Id: Ic27bda02aa2199f008bac26db75c1f896696f9f5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-24 20:25:45 +01:00
Frederik Gladhorn
3b5c0bc078 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/image/qjpeghandler.cpp

Change-Id: I9db3acea7d5c82f5da679c8eaeb29431136665f0
2014-03-24 16:10:15 +01:00
Fabian Bumberger
21f1738a94 QNX: Fix sending of expose events
When the window geometry is changed an expose event should only be sent
if the window is visible.

Change-Id: I540ea7e7e07d896495547f3f8bf81738fad3ddee
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-03-23 17:02:42 +01:00
Jorgen Lind
c79918733a Fixup compilation of the manual tests
Change-Id: I871b0e7c1c4336b45e880023e7374f579e018cd6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-22 19:54:27 +01:00
Allan Sandfeld Jensen
c2c136306d Apply fontconfig settings to custom fonts
Currently QtWebKits custom fonts does not follow the system settings
on Linux. This is because they are only handled by the basic
fontdatabase.

This patch adds handling of custom fonts to QFontconfigDatabase.

Change-Id: I676fc97840766b58cd937bb8e2c9f166f30c8a6e
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2014-03-22 12:56:06 +01:00
J-P Nurmi
ecf6aa2dca configure: Disable XCB auto-detection on Mac
Users might have (old) libxcb installed on OS X, for instance as
a dependency for another package installed via MacPorts. It's still
very unlikely that any Mac user would want to use the XCB platform
plugin. Thus, disable the auto-detection to avoid a dubious XCB
configuration error on Mac.

Change-Id: I11d21aad255925883d6841444baa13a29f1a26b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2014-03-22 12:56:06 +01:00
BogDan Vatra
a30676f201 Fix crash: make sure functions pointer is initialized.
Change-Id: I42fd3933f33370612290e8ba252349acfae72381
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-22 10:55:56 +01:00
Andrew Knight
0afe3c7ee3 Windows Phone: Remove QT_NO_CURSOR
This define causes source incompatibilities in QML applications, as it
results in removal of properties from e.g. MouseArea. The default (null)
cursor implementation which will now be active should cause negligible
overhead with this define removed.

Change-Id: I8ee78e084cb95b4c73782a3a831f0672ba230b19
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-03-21 23:13:23 +01:00
Andrew Knight
2c26f9a39f Windows Phone: Remove ws2_32.lib dependency
We no longer require this library, so remove it from the linker list.

Change-Id: Ic211f8f6d954eddce8818807619962ad009be117
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2014-03-21 23:13:23 +01:00
Shawn Rutledge
efcfa0b252 QGuiApplication: send TouchCancel when touch is interrupted by popup
QQuickWindow depends on maintaining state of known touch points
between events, so it needs to be notified when it will not be
receiving the corresponding release event for one or more.
This temporary fix needs to be reverted when we have a proper
event forwarding solution.

Task-number: QTBUG-37371

Change-Id: I5dc40af6feac425be8103c1586f8ebe3a6aad20d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-03-21 21:08:27 +01:00
Michael Brüning
584088f200 Initialize the picpainter State in the QAlphaPaintEngine.
Patch by John Layt.

Analog to how the print preview problems on windows were fixed, this
is needed to correctly print e.g. web view contents.

Task-number: QTBUG-36308
Task-number: QTBUG-37240
Change-Id: If4ecffde969ed221bbbeea80232f29f095fd71cd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-03-21 21:08:27 +01:00
Eskil Abrahamsen Blomfeldt
523d1c54e4 REG: Fix compilation with old AndroidManifest.xml
For apps created with Qt 5.2.1, the AndroidManifest.xml will
contain a reference to android.app.splash_screen, which was
removed from the application template when the splash screen
functionality was fixed by 4d08d80be6.

To make sure existing apps still compile, we put back a dummy
splash.xml so that the reference in existing manifests still
work. If this splash screen was actually used for something,
it will no longer show up, so we also need to document that people
should update their AndroidManifest.xml to the new system, but
we can't inform people via mysterious compilation failures :)

Task-number: QTBUG-37493
Change-Id: I6289f9b5e2c315fa6db502cbde27bd18e15f1f8d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-03-21 18:49:06 +01:00
Friedemann Kleint
374d0a0b8c Remove manual test qpainfo, which is superseded by the qtdiag tool.
Change-Id: Ibd6e8fc05495f6eb2adca22072df19530766858a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-21 18:34:43 +01:00
Friedemann Kleint
045e20b32f Fix qdoc warnings in QMargins, QRect.
Change-Id: Iae2486e1f335679c288e05f45e2d283a7cf971c0
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-03-21 18:33:43 +01:00
Gabriel de Dietrich
e7816e987e QPA: Fix QPlatformTheme::Palette enum value spelling
We keep the old value for source compatibility, but it should
probably be removed at some point as the QPA API is semi-public
only.

Change-Id: I06e4c9ca1d8bb878411ad79ef409d60ce2d29f4a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-21 18:02:20 +01:00
Gabriel de Dietrich
9637b5f7f0 Mac theming: Remove obsolete private color conversion functions
Change-Id: I165eea19c8e50f981a9fa48c14f0d63c40951747
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2014-03-21 18:02:15 +01:00
Gabriel de Dietrich
b145c1db00 Mac theming: Set background brush for menu palette
We also remove overriding the background when polishing the palette
in QMacStyle. This is a leftover from pre-10.5 styling.

Change-Id: Icaa6d9c864ab01783d83cc02192981136c417d24
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2014-03-21 18:02:10 +01:00
Fabian Bumberger
9379dd9410 QNX: Fix crash in bb_select
Change-Id: Ic1a414c9d89b790ed9fb9f5c989b6018de78b465
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-21 17:56:02 +01:00
Fabian Bumberger
70624ed9d6 QNX: Fix QGraphicsItem autotest
Change-Id: I85b0938e6ebeb9f24e24b51a594c01b74167a177
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-03-21 17:55:55 +01:00
Allan Sandfeld Jensen
3cf7b31c4a Cleanup and refactor QFontconfigDatabase::fontEngine
Refactors the logic to parse the font configuration from fontconfig, so
that it maybe reused for custom fonts in a later patch.

Also fixes a minor mistake that meant we defaulted to medium hinting,
where we tried to default full hinting.

Change-Id: I1e135b8b1e3faeb213aa370ea59ebde3a671273d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2014-03-21 17:52:37 +01:00
Robin Burchell
a82291aea1 QNativeSocketEngine(UNIX): Report the native socket error, not the Qt-derived error
This prevents error reporting from being useless in case an errno value isn't
one we anticipate.

Change-Id: I65f8c2570d07971a06ba3687d75e9df91a0e7611
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-03-21 16:52:00 +01:00
Laszlo Agocs
aecc14fff8 Remove non-existent function from header
This is a leftover from the QGL->QOpenGL migration, the function
never existed in the QOpenGL variant of the class.

Change-Id: I47bdfb7f65ffc6cdd39b353e3a69900ccf10e4fc
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-21 15:43:17 +01:00
Lars Knoll
9b378143a8 Setting QT_NO_DEBUG should not remove symbols
Removing symbols when defining QT_NO_DEBUG is a bad idea.
In this case it means that you can't compile corelib as a
release build and widgets as debug without getting an
undefined symbol.

Instead leave the method in the release build, but simply don't
call it.

Change-Id: I50426aefd62e82bccd933323aa0f67c6e5294961
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-21 08:42:29 +01:00
Richard Moe Gustavsen
68c8016394 iOS: send a Qt::Key_Return when the user hits done/enter
We need to send key events when the user hits enter, otherwise
there is no way to know when the user has 'confirmed' the
text he wrote. This is on par with how it's done for the
Android port.

Change-Id: I585d4198de24b0d251e5e0dd2956ce81b6483f82
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-03-21 08:41:23 +01:00
Richard Moe Gustavsen
37ba38b334 iOS: implement 'close keyboard' gesture
Before this patch there were no way for the user to hide
the keyboard on iPhone for multi-line edit fields unless
the app had a separate button added for it. And even that
would be problematic since we scroll the screen (and
perhaps the button) to track the cursor.

This patch implements a gesture that resembles the 'hide
keyboard' gesture that UIScrollView implements on iOS 7.

Note that if you start the gesture inside the edit field,
you will start selecting text as well. This will also cause
the cursor to move and the screen to scroll. After some
testing and failing, it seems like we need to live with such
artifacts until we do get around to do the only sensible thing;
fix up how we do text selection on touch platforms. Working
around it becomes just to messy.

Change-Id: I1c0d9c88ff1f5430587a49591f165b9708e5dc60
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-03-21 08:41:23 +01:00
Eskil Abrahamsen Blomfeldt
3d5234eb9a REG: Android: Fix freeze when accessing assets
Change 287fa94fe2 created a freeze
in the assets file engine because it will try locking the mutex
twice. Since prepopulateCache() is only called from create(),
we don't need to lock it recursively.

Task-number: QTBUG-37661
Change-Id: I00d0fed132a86c1be5603484eb6ee05454da9ef0
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-03-21 06:31:27 +01:00
Morten Johan Sørvig
b76612979c Cocoa: Fix geometry for embedded QWindows.
Report for correct geometry for QMacNativeWidget
and other QWindows that are embedded in a NSView
hierarchy. This also makes mapFrom/ToGlobal work.

The implementation is different than for the other
cases: Add a QCoocaWindow::geometry() overload and
query the geometry there, instead of using a geometry
change notification which sets the geometry on the
QWindow.

Task-number: QTBUG-36322
Change-Id: Iab5f0c96b89610c8a4b4a7de49887b0683d551dd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-03-20 22:13:07 +01:00
Morten Johan Sørvig
3b8b47db6a Set unified toolbar height accurately.
Add registerContentBorderArea() to the Cocoa native
interface which allows registering multiple "unified
toolbar" areas for each window.

Use this function in QToolBarLayout::setGeometry()
to register the area for each TopToolBarArea toolbar.

Task-number: QTBUG-36700
Change-Id: I52efcc5662556bb94f25f504be3710d0491f79b9
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
2014-03-20 22:12:47 +01:00