Commit Graph

16046 Commits

Author SHA1 Message Date
Stephen Kelly
f03fd0d82a Remove leading '/' from target paths.
This is inappropriate on Windows, and breaks non-prefix builds there.

This is only needed when we calculate a relative path from a sysroot,
so only add it in that case.

Task-number: QTBUG-34880
Change-Id: I0e3b3d977a7b56649e4ba0077ac574aabf1dc915
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-11-27 08:24:50 +01:00
Gabriel de Dietrich
08f3177fdf CoreWLan: Fix potential unhandled exception assert
-[QNSListener notificationHandler:] was declared as not taking any parameter,
but used as taking a single NSNotification. This would lead to an 'unrecognized
selector' exception raised by Cocoa.

Task-number: QTBUG-26844
Change-Id: I56d03a7738c2a1b9dcf3cdecc696b01e65d7b233
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-11-26 10:58:32 +01:00
Eskil Abrahamsen Blomfeldt
939a001c3a Android: Remove invalid error message
All usage of context menus prints out an error message because
onContextMenuClosed() is called more than once. We just return
silently instead if the method is called after the menu has
already been closed.

Change-Id: Ifa27ed42d188fdf670f09c4b1450b9fec0d5941f
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-11-26 10:58:18 +01:00
Simon Hausmann
e903b5cdda Fix for co-existence of QtDeclarative and QtQml
As a follow-up to commit 2f87fde9bb, we also need
to change "hack" in the QGraphicsItem and QWidget destructor for early item
destruction to support the _qml1 variant of the QObject destroyed callback.

Task-number: QTBUG-35006

Change-Id: I65e37b1e9ddd8d14267aaba024408611b8cd3d77
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 10:57:54 +01:00
Olivier Goffart
9b8570c4e9 Fix deadlock when disconnecting connections made with function pointers
The regression was introduced in 5885b8f775

QMetaObjectPrivate::disconnectHelper may unlock the sender mutex. And
while relocking it, we need to make sure to lock the sender and receiver
mutex in the right order.  So don't lock the receiver mutex in advance, but
re-lock it for each connection.

Change-Id: I4f6d19791cdcce3693d7f45e7beb6b564fd69277
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 08:29:41 +01:00
Thiago Macieira
df449d4f86 Fix formatting in the platform-specific changes part of the ChangeLog
No need to have the "Qt for" part of the platform. This was used back
in the Qt 4 days when we referred to "Qt for Embedded Linux" or
"QtopiaCore" before that.

This also fixes the duplicated "Windows" and "Qt for Windows" sections.

Change-Id: Ia04172d0f322079f667b64a90c5f23d03588d0db
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 08:24:44 +01:00
Thiago Macieira
10ac0bb2b8 Reflow the ChangeLog part for QtNetwork
Wrap to column 76, add a space before the dash and remove the
line between entries with no sub-bullets.

Change-Id: Ibba86161659ccad9fe98dd37a9eba57e807aa3ac
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 08:24:41 +01:00
Thiago Macieira
c9857bdeef Update ChangeLog for 5.2.0 [QtDBus]
Change-Id: I8b58ea636eac2be4da967c18057c38990bc9178f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 08:24:37 +01:00
Olivier Goffart
f805020410 Fix a race that occurred as we unlock the mutex to destroy the functor in ~QObject
When we unlock the mutex, we need to take in account that the Connection
pointed by 'node' may be destroyed in another thread while it is unlocked
Doing  'node->prev = &node'  will make sure that 'node' is actually
updated when it is destroyed.

Setting isSlotObject under the mutex is safer and ensure that no other
thread will attempt to deref the object.

The regression was introduced in 5885b8f775

tst_qobjectrace was updated to catch races arising when we are
connecting with function pointers.

Change-Id: Ia0d11ae8df563dad97eb86993a786b579b28cd03
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-26 08:24:25 +01:00
Tor Arne Vestbø
c2f08598e1 iOS: Update statusbar visibility and screen properties before window geometry
When setting a new window state. Otherwise we set the geometry based on
the old screen properties, and then rely on the properties causing
another window layout, which may not always happen. We also need to
explicitly update the screen properties when the statusbar changes
visibility, as there are no callbacks from iOS that consistently gives
us that information.

Change-Id: I1c3328aa3f34d294bc7db8884e611d205fd2c761
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-25 23:56:40 +01:00
Tor Arne Vestbø
6820ac594a iOS: Prefer window states over geometry-heuristics when laying out windows
A window that was resized to the full screen size of the screen would
otherwise always stay in full screen, even if the window state was
maximized.

Change-Id: I4720f7b6ad1d85658ea96c6da0515693e8c827f3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-25 23:56:37 +01:00
Tor Arne Vestbø
8f32476542 iOS: Don't warn about QBackingStore::resize() != window.size() for widgets
QtWidgets uses stale geometry data to do its backingstore resizes in a
lot of places, eg QWidgetPrivate::setGeometry_sys() and show_sys(). As
the resize doesn't have any effect for our GL backingstore anyways
we can skip the warning to keep console noise down.

Change-Id: Ie578f7faf35985708fddd0bfca4a7080820192c5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-25 23:56:34 +01:00
Tor Arne Vestbø
6318a6879d iOS: Don't enable translucent statusbar for iOS6 on iPads
It's only available on iPhone/iPods.

Change-Id: I61b45c84ddb2b3db46fff36286a6582406fa7d26
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-25 23:56:30 +01:00
Eskil Abrahamsen Blomfeldt
7201148be0 Revert "Android: Use native platform menus."
This reverts commit 98f0b46689.

The native menu popup would never exit its event loop, because
there's no listener for the closing of the menu. Since this is very
last minute and the change is not ready, we revert it and use
the widget menus instead.

Change-Id: Ie9ae707300a265130a90d1ccb5f093f50cc0b2fb
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-11-25 23:56:27 +01:00
Richard Moe Gustavsen
b61928e646 iOS: close keyboard upon hitting key 'done'
Change-Id: I0098cc4d51ca600ba48baa15ed9c16e56529b947
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 23:56:25 +01:00
Thiago Macieira
e8f9533d4d Update ChangeLog for 5.2.0 [QtCore]
Change-Id: I2f6adc13d454825a2f444121a87dfd189e1c70f9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-25 23:56:17 +01:00
Marc Mutz
1f10476866 Update ChangeLog for 5.2.0 [QtWidgets]
First batch of changes applied to src/widgets since v5.1.0.

Change-Id: I23515e8dd340f8551d1681d0abeb2cbbff3683d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-25 23:56:14 +01:00
Thiago Macieira
1073d38617 Update changelog for 5.2.0 RC1
Change-Id: I3a34fe4d26dab1eab9518f995406ecc85d5ff4c1
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-25 23:56:09 +01:00
Oswald Buddenhagen
40290b06d3 actually complain about invalid -[no-]{sql|imageformat}-* options
Change-Id: I0530d7dcdeb944db76bc708512c57e537f2c95c8
Reviewed-by: Vladimir Minenko <vminenko@rim.com>
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
484d6ce776 iOS: update keyboard layout upon focus transfer
When iOS transfers focus from one view to another, it
asks the new view for its UIKeyInput properties before
deciding how the keyboard should be configured.

For Qt, the same QUIView is used for the whole QWindow
which means that UIKit will not change the keyboard
configuration just because we change the focus object
in Qt, since the UIView does not change.

There seems to be no way to tell UIKit that the
keyboard needs to change becuse the UIKeyInput
properties has changed. To work around this, we
briefly resign first responder status, and grabs it
again, for the same QUIView.

Change-Id: I2d15cc0c928deb023e7da58ad4669b7099dce2cf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
bdf0670c02 iOS: add [QUIView updateTextInputTraits]
Configure QUIView text input traits from IM hints
returned by the focus object when the view becomes
first responder. This will affect the layout of the
virtual keyboard.

Change-Id: Ib140ba69d01cc747f3ac3cdd70dd2e7daede26b0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
99474206f4 iOS: don't loose precision when converting CG types
CGRect and CGPoint consist of CGFloat variables. So
we should convert to QRectF and QPointF rather than
QRect and QPoint.

Change-Id: I76f180e4064f54d5810c49b88fdbbcd914bdb686
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
0bfc1c8647 iOS: don't scroll after inputItem has moved
If the inputItem moves, it typically means that the user
scrolls or flicks the focus item around. In that case
we should avoid scrolling the screen, otherwise they
will "cancel out" each other. Besides, when the user
flicks, he takes control over the whereabouts
on the screen anyway.

Change-Id: Iad0762965f9dcdbcca934ce6d90a8c1413ce3ca2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
953d85e049 iOS: scroll screen when keyboard opens
This change will let QIOSInputContext scroll the root
view when the virtual keyboard is open, so that the input cursor
is not obscured.

Change-Id: If0758f4bf04c2b8e554e0196451154def7e3cb86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Andy Nichols
344a7c540b iOS: Do not skip building QtGraphicalEffects module
The QtGraphicalEffects module is a QtQuick2 only module so it is clear
why it was left out before iOS had support for QtQuick2, but now it
should be built by default.  This commit removes QtGraphicalEffects from
the iOS module "skip list".

Change-Id: Ie0890f6784ad6e276e80bf7a11195c141ca23332
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 15:09:44 +01:00
Andy Nichols
0835859dd5 iOS: Do not skip building QtQuickControls module
The QtQuickControls is supported for 5.2 though it does not provide
the system native "look and feel".  This patch removes the module from
the iOS module "skip list".

Task-number: QTBUG-35033
Change-Id: Icad479f2e4651c02e569e8a86cfe5ac912d8ed10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-25 15:09:40 +01:00
Andy Nichols
d86f045082 iOS: Do not skip building QtMultimedia
QtMultimedia is supported in Qt 5.2 and should be built by default, so
it has been removed from the module "skip list"

Task-number: QTBUG-35039
Change-Id: Id43f997251bf392b7f6c0166ee06b7364ce30b8e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-25 15:09:36 +01:00
Simon Hausmann
2f87fde9bb Allow for QtDeclarative and QtQml to co-exist at run-time
Qml has a bunch of hooks in QObject, that are callbacks as function pointers
when things happen in QObject. QtDeclarative (Qml1) only needs one callback,
for object destruction. In preparation for allowing both run-times to co-exist,
this patch forks the callback, keeping the "default" variant for QtQml and
having a *_qml1 variant for QtDeclarative.  QtQml continues to set the callback
variable for the default and QtDeclarative will set the _qml1 variant.

It is however a limitation that a QObject instance can only be exposed to _one_
engine at a time, and it is not possible to make a transfer. Double exposure
will result in crashes.

This patch alone is not sufficient to fix the bug, the
QQmlData/QDeclarativeData structures in Qml1 and Qml2 need to be extended to
allow distinction at run-time.

Task-number: QTBUG-35006

Change-Id: I3bac023873b5656a8a4f117fe816bafcda77b67d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-25 12:40:42 +01:00
Richard Moe Gustavsen
eafa224c3b iOS: decouple QIOSWindow and QIOSInputContext
Change-Id: I85dda6fc0c6d2d11709b8bcdc0de6c0cef42d40f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-24 15:21:12 +01:00
Oswald Buddenhagen
3d89b10db9 fix handling of \\ in replacement string in s/// cmd of built-in sed
QString::replace() has no way of escaping capture group references,
so simply disarm double backslashes. of course this is broken, but
we'd need to reimplement it from scratch to fix it properly. "corner
case" ...

Change-Id: I357fbfd22c9c4a68809e5af6efad1de3a95706b5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-23 23:31:18 +01:00
Oliver Wolff
d4c548ce5c Fixed assert in Windows key handling
Certain key sequences (like press alt, press left, release left,
release alt) can cause an assert in qwindowskeymapper. This
behavior was introduced in change
I4f7709a90906b03f4504deea1ff5c361e9f94b3f (Fix virtual key
mapping on MS Windows). The place that seems to cause the new
behavior is changing the bitmask for obtaining the event's scancode.

With the changed bitmask releasing the alt key in the given
key sequence causes the WM_KEYUP event to trigger a WM_CHAR event
which should not happen there. To be honest I don't know how having
the extended bit inside the scancode fixes the behavior but it seems
to do and I could not find another place which might cause the
breakage.

Task-number: QTBUG-35005
Change-Id: Ia18c2681ea311196441a5cd15017e220ac095674
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-23 19:58:34 +01:00
Oswald Buddenhagen
a0e32cbf74 fix handling of | in s/// commands of built-in sed
Change-Id: I139d007d68fb0aed4d9fbe57a14d1ede81ba40d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-23 19:58:18 +01:00
Oswald Buddenhagen
ef510adea5 adequately shell-escape generated sed commands
Change-Id: I39c8c4ab3da69bd21beace56f5cf3070301ac015
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-23 19:58:11 +01:00
BogDan Vatra
56493268f7 Prepare for printing support.
There is no real printing support though, it just prepares
the land for bringing printing support for API-19+.

Change-Id: Iabf78499f8fe1e4d2527e339cee5746acb8f3b3f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-23 15:46:19 +01:00
Andreas Holzammer
ca2440e2b1 Add PPS configure check
Plain QNX 6.5.0 does not have a libpps, the new QNX
has a libpps and BlackBerry has it as well. So we need
a configure check to not open another mkspec for this
platform. This fixes the plain QNX 6.5.0 build.

Change-Id: Id4b3876f2385bcb5f3df426945532e7e26133f24
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-23 15:45:35 +01:00
Frank Osterfeld
a18daa8793 QNX: Only link libclipboard when building with clipboard support
In QNX 6.6, libclipboard isn't part of the base SDP, and QT_NO_CLIPBOARD
is set unconditionally on plain QNX anyway. The clipboard-based implementation
isn't compiled when QT_NO_CLIPBOARD is set, so only try to link libclipboard
when actually building with clipboard support (BB10).

Change-Id: I54eb4fadb6bf239a83884796f5758cb79a5677ef
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
2013-11-23 15:45:24 +01:00
Arvid Nilsson
88728897a6 BlackBerry: Fixed root window size, continued
The previous patch removed a call to setGeometry, and now only calls
setGeometryHelper. This means the screen window will be resized, but
Qt won't know about our new window size. The scene graph of a QtQuick2
application would layout and render to the wrong target size.

Fixed by adding a call to QWindowSystemInterface::handleGeometryChange
if we decide to use a different geometry than suggested by the window.

Task-number: QTBUG-34930
Change-Id: Ie91c2edc45c47f5bf1d45aed981b969fcc3f40dd
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-23 15:45:06 +01:00
Laszlo Agocs
376ccedd1a Avoid incorrect warning when painting onto a QImage
Change Ia8ef48f3 introduced a regression: Trying to paint onto a
QImage, QPicture or QPrinter from outside the main thread incorrectly
shows a warning saying that it is not supported.

The patch was incorrect because 'extraCondition' was used in the
non-default branches of the switch and thus not passing
extraCondition==true caused the message appear even when it shouldn't
have.

Let's just remove the extraCondition parameter altogether since it is
not used in practice anyway.

Change-Id: Id2e56c585d1f1013f24942cbcd53305fbb66aeba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-11-23 15:44:55 +01:00
Tor Arne Vestbø
28c5c74c9b iOS: Re-enable kEAGLDrawablePropertyRetainedBacking
Having it disabled caused issues with our backing-store implementation,
which assumes that the backing store is retained, but for us is backed
by a GL context.

Change-Id: I18d05e226c7cf949adcd3b71801ffd845fa6d83d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:58 +01:00
Tor Arne Vestbø
a4e1c15b16 iOS: Deliver resize events synchronously after setGeometry for QtWidgets
QWidget::show_sys() assumes synchronous geometry behavior by trying to
resize both the platform window and the backing store if the widget's
view of what the geometry is doesn't match the platform window's.

The problem with that is that it's the widget which is not up to date,
not the window, as the widget is not waiting for resize events before
applying any resize logic. Instead of trying to fix widgets, we throw
our hands in the air and give QtWidgets the synchronous behavior it
assumes from the platform.

Change-Id: I1b9241b9b13df661dc7f41c4cb8ecd02f5572256
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:53 +01:00
Tor Arne Vestbø
c38225229d iOS: Allow QBackingStore::flush() without beginPaint()
The QBackingStore API doesn't require clients to precede flush() with a
beginPaint() call, but our backingstore is backed by a GL context, so
it's up to us to ensure it's current before swapping.

Change-Id: Ia6119bf0e835448b1fd383d933df6f88fa4f298a
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-22 22:36:48 +01:00
Tor Arne Vestbø
c25385ae1e iOS: Fix build against iOS 5 SDK and auto-rotation on iOS 5
Change-Id: I3acc2d3780a9440bedf48db3fed0046b06300b9e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:43 +01:00
Tor Arne Vestbø
03cd5b3563 iOS: Use separate release pool for qt_ios_version()
QSysInfo::MacintoshVersion is initialized before the main thread's release
pool has been set up, so we have to wrap the UIKit usage in our own pool.

Change-Id: I80e2c068339e0251f38ecf55fcfb764594eb3ad7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:38 +01:00
Tor Arne Vestbø
f441d8e523 iOS: Change show() to imply maximize, and showFullScreen() to hide status bar
Matches the Android behavior, and gives an easy and predictable way to
show true fullscreen windows that is similar to how one would do it on
a desktop platform.

We keep the statusbar visibility in sync with the window state of the
active window.

Change-Id: Ia4b99e03f83e19f9ef56cc99b9d477cc6da4c734
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:34 +01:00
Tor Arne Vestbø
ae5392a00b iOS: Take position of root viewcontroller into account for geometry changes
When setting the geometry on our UIView, or when reporting it back to Qt
in our layoutSubviews callback, we need to take into account that the
root viewcontroller may be not be positioned at 0,0 in the screen's
window. Even when using the wantsFullScreenLayout property of the view
controller this may be the case on iOS7 when the in-call status-bar is
visible.

Change-Id: I0ca706c1c9aff8ba4f3b4ccdf83dba713bd5c9c2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:30 +01:00
Tor Arne Vestbø
1ca27d38bc iOS: Fix when and how we send geometry and expose events
Geometry changes may come from Qt itself, or spontaneously from the windowing
system. In both cases we deal with them through the layoutSubviews callback,
which we now ensure gets called after we set a new geometry on the UIView
frame, by using the setNeedsLayout message.

We take care to persist the requested geometry from Qt immediately in our
setGeometry() function, so that subsequent calls to QWindow::geometry()
will report back the requested geometry. Clients can however not rely
on this geometry until they've received a corresponding resize event,
which we trigger from layoutSubviews.

Since the new geometry reported in layoutSubviews may be different from
what the user requested, we ensure to pass on both the new and the "old"
geometry, so that Qt will send the appropriate resize and move events.

Instead of building expose events on top of the existing layout
mechanism provided by iOS, we hook into the more logical point,
which is the display-phase. Since a EAGL view normally doesn't
need to "display" anything this takes a few overrides on UIView.

Once we have the hooks we need, we can distinguish between a QWindow
backing needing layout, and needing displaying.

Finally, we flush both the resize and expose events, as that's what
iOS expects of us when asking us to layout or display. The result
is that Qt is able to synchronously resize subwindows and prepare
new GL rendering for the next frame.

Change-Id: I4c03e3db3fe886163284ba1a342699e217e88cbb
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:23 +01:00
Tor Arne Vestbø
b6ad2621aa Add convenience macros for checking OS X and iOS platform SDK and target
Allows us to skip passing __MAC_NA and __IPHONE_NA when we don't care
about that platform.

Change-Id: Ie265beb457d057de06ae64970684d67e59062b1c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-11-22 22:36:00 +01:00
Paul Olav Tvete
a474b1d135 Android: make the default font size bigger
The default font size turned out to be slightly too small for
comfort on touch devices. This tweaks the size from a 12-point equivalent
to a 14-point equivalent. (Point sizes aren't real point sizes because of
compatibility with iOS.)

Change-Id: I6d970fdd5bba8199cabdf1aaaaac10d19c53c654
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-11-22 16:31:34 +01:00
Gunnar Sletta
7879fbe4b8 Disable threaded GL for nouveau drivers.
Task-number: QTCREATORBUG-10875
Change-Id: I25f3abc6ef15bba78fa9ec27de2c1e5e0bcc7fae
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-22 16:29:15 +01:00
Allan Sandfeld Jensen
3f97e38440 Fix race condition between destruction of QObjects
If the two QObjecs are connected and destroyed at the same time, it
is possible to hit a case where QObject::metaObject and QObject::disconnectNotify
is called on a destroyed object.

This patch moves the calls up before the removal of the connection. This
ensure the sender object will have to block on the receivers connection
mutex and can not finish destruction before disconnectNotify is called.

Task-number: QTBUG-34131
Change-Id: I398116fe7bc6a195991aff9961d89a8b0ac8d53c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-11-22 07:48:08 +01:00