Commit Graph

2975 Commits

Author SHA1 Message Date
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
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
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
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
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
Frederik Gladhorn
af9910e450 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-08 15:51:02 +01:00
Fabian Bumberger
592d79fc83 QNX: Add some more properties to a touch point
Change-Id: Ic1c889557148f112e357c3ee34199ff6d19b4a6e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-01-07 19:12:22 +01:00
Andrew Knight
153f82390d WinRT: Improve event dispatcher
- Sleep when there are no events to process. Otherwise, CPU usage remains
  high all the time.
- Reorder processing so window events are processed after being collected
  by the native event loop.
- Provide basic interrupt and WaitForMoreEvents flag support.

Task-number: QTBUG-35327

Change-Id: I8a5545cba5f3e65eafd0bb40695bf6ffde68bb04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-01-07 10:55:28 +01:00
Tor Arne Vestbø
702bda5cc9 iOS: Use in-place string renaming to rename main() instead of ld
Processing the object file with ld strips away debug information for
the main() function, resulting in the debugger not being able to
break on specific lines of the function.

It also causes issues when externing sybols in main's object file.

We revert back to the approach of using the strings in-line in the
object file (which is why we keep the name the same length, 'qtmn').

Task-number: QTBUG-35553
Change-Id: I8b0acee36f48ecfefa2e4fd008a842365713d985
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-01-06 20:58:28 +01:00
Frederik Gladhorn
c8046f7d42 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0b021b369725b73f09faa14b9da9e2431dc24fad
2014-01-06 15:26:02 +01:00
Uli Schlachter
ae56140b50 xcb: Remove useless flushes
Calling xcb_flush() right before QXcbConnection::sync() is pointless.
The flush sends all requests that were already queued to the server and
the call to sync() then just sends another request, flushes it and waits
for its reply. Having just sync() implicitly flush for us means less
overhead and has the same effect.

Another useless flush is in QXcbShmImage::put(). The only caller is
QXcbBackingStore::flush() and this calls put() in a loop. If we just
call xcb_flush() from flush(), then xcb can send more requests in a
single write() call again.

Finally, calling Q_XCB_NOOP() twice in a row without doing any
interaction with xcb in between doesn't help much, so remove one of the
two calls from QXcbShmImage::put()

Change-Id: Ia3d6945b8d961e2844fc3e31fdf8189c47b534d1
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-01-06 12:56:37 +01:00
Uli Schlachter
ffac6ee267 XCB: Fix pixmap leak
In qt_xcb_XPixmapFromBitmap(), a new pixmap is generated for the caller.
This pixmap has to be freed after use. However,
createNonStandardCursor() didn't do this and instead leaked the pixmap.

Change-Id: I6fee180ec6508db9e82a5bb028957e7d9f7a4632
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-01-05 21:04:43 +01:00
Allan Sandfeld Jensen
2c65b78b40 Avoid duplicate emulated mouse events with XInput2
When using a touch screen on a Linux machine, we receive both touch-events
and emulated mouse events from XInput, on top of that we synthesize mouse-
events ourselves for the touch events.

This patch grabs the touch device for touch events whenever it processes
a touch-begin thereby avoiding XInput from synthesizing mouse events.

Task-number: QTBUG-35157
Change-Id: I5849d5841be236d6719cd080af2e9e39eb9cdd84
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-01-03 16:08:23 +01:00
Liang Qi
bdd3ead827 OSX: support fake fullscreen and etc
* Fix QCocoaWindow::setGeometry() to respect WindowFrameInclusive
* Support fake fullscreen on 10.6 or WindowFullscreenButtonHint was not set on
10.7 and later
* Fix tst_qwindow on 10.6 and later

Task-number: QTBUG-23059
Task-number: QTBUG-34629
Change-Id: I6e032ca55b45674388b00506a424d3bd7ece429f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-01-03 15:27:38 +01:00
Simon Hausmann
b5ab7ee0d7 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
2014-01-03 14:30:21 +01:00
Liang Qi
a79f8a3a67 Cocoa: fix single punctuation input via CJK input method
2d05d3bd28 was not correct.

On OS X, when user uses CJK input method, only types single punctuation,
it was converted to CJK ones, and not showed in composing text.

Task-number: QTBUG-35700
Change-Id: I919edb3f5165bf943c0d90d06a788a2f335bb1ba
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-01-03 13:00:18 +01:00
BogDan Vatra
f9a47a6aa5 Android: Don't show ActionBar at startup.
Task-number: QTBUG-35151

Change-Id: Ie62e50032aaa647a86c4f03b1a3363e5ef6a1bbb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-01-02 20:21:41 +01:00
Allan Sandfeld Jensen
68974f31ff Extend multimedia keys
Extends the Qt keycodes with four missing keys, common on remote controls:
Guide, Info, Settings and Exit.

Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-01-02 10:29:27 +01:00
Andrew Knight
080096590b xcb platform: Fix build when both EGL and xcb-Xlib are used
Fix a multiple define when Qt is configured to use both EGL and xcb-Xlib.

Change-Id: I6fdb282f575842711b3b5d377bbdf3bc9909bf0c
Reviewed-by: Christoph Cullmann <cullmann@kde.org>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-12-31 16:58:47 +01:00
Kurt Pattyn
6b0e7f111c Windows platform plugin: Add missing case statement
Change-Id: I9b9fc6cf000b262277711374e0a2fe119328849e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-12-30 18:38:23 +01:00
Robin Burchell
5923196bc3 mtdev: Change to use configure detection instead of requiring source hacking.
This coincidentally fixes a case of accidental BIC in qevdevtouch_p.h, where not
all users would necessarily define USE_MTDEV: having it centralized inside Qt
makes this now, blessedly, impossible.

Change-Id: I196a8f21742830705759aa917a823afdc94ba2b5
Done-with: Michael Brasser <michael.brasser@jollamobile.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-30 16:51:23 +01:00
Laszlo Agocs
e8d31d1b31 linuxfb: Make mouse cursor behavior match eglfs
On non-Android systems hideCursor should default to false, just
like it is done in eglfs. This is especially useful on udev-less
systems where currently one has to resort to setting
QT_QPA_FB_HIDECURSOR to "0" to enable the mouse cursor. This is
not ideal. Defaulting to showing the cursor unless disabled by
the environment variable or, in absence of that, the lack of a
mouse reported by udev is a better choice.

Change-Id: I7362ac47046179d5eb8ed8b44cf2c36c0fc23432
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-30 15:23:43 +01:00
Christoph Cullmann
fe4ebf1269 fix compile of qt without egl available
move the dpy to the place where it is used inside the egl ifdef guard
fixes compilation on old distros not having egl

Change-Id: I7eebe5305f3a584c0c5da2ea7b9099fdd994249d
Reviewed-by: David Faure <david.faure@kdab.com>
2013-12-30 12:24:08 +01:00
Shawn Rutledge
ecf11d62fc xcb: added env variables to show input devices and events
export QT_XCB_DEBUG_XINPUT_DEVICES=anything to show detected
input devices at startup
export QT_XCB_DEBUG_XINPUT=anything to log mouse, touch and tablet events

Change-Id: Id14844b68ad376740f82a36aab2c59c84d2017ab
Task-number: QTBUG-35583
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-30 10:56:29 +01:00
Thiago Macieira
5ee3d1e456 XCB: Don't recalculate the DPI if we have a forced DPI setting
logicalDpi() already has the logic to check m_forcedDpi, so let's reuse
it. I hope it's not a problem that we send a signal that it changed when
nothing changed.

[ChangeLog][Platform Specific Changes][X11 / XCB]Fixed a bug that caused
Qt applications to think the screen DPI had changed when it had not,
after connecting or disconnecting monitors.

Task-number: QTBUG-32683
Change-Id: I45dd27de5109e65e7599915f11cfdb633a65a67c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-12-30 09:17:47 +01:00
Jan Arve Saether
f0cf47092e Don't translate a null rect.
This was probably because of some forgotten braces, since the
indentation seems to indicate that.
The current behavior might cause a null rect to become not null, which
might cause for QRect::isNull() to give a false positive.
Worst case it might case a program to crash (i.e. div by 0)

Change-Id: Iba49699880250e605b427ff4c1228c68a3471a2f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-12-27 10:53:21 +01:00
Roger Maclean
8a5c261954 QNX: Add support for BB10 text highlighting and spell checking
Adds the QPA side of the support for text highlighting during text
entry and for spell checking.  The changes are compatible with
existing Qt text controls though require more advanced ones to have
any effect.

QQnxInputContext has three colors it can now use for highlighting
text during composition to represent the active region, auto
corrected text and reverted text.  If any of these colors is invalid,
that form of highlighting is not used. By default, only the active
region color has a valid default which corresponds to the highlighting
capabilities of classes such as QQuickTextInput.  The QNX QPA native
interface has been augmented with the ability to get a function
pointer that can be used to set any or all of the three colors.  The
set of colors is reset to the default at any time that focus changes
to ensure appropriate behavior if there is a mix of controls.

It's worth noting that while the colors can be changed even when
used with one of the standard Qt text controls, the auto-correct
color will not show up since it is applied immediately before
committing the text.  Appropriate display of this highlighting
requires that the control maintain the highlighting for a period
after committing the text.

Spell checking is provided via another function accessible through
the QNX QPA native interface.  This takes a string and a callback
function to be called once spell checking is complete.

As a slightly unrelated change, toSpannableString now uses
toWCharArray to convert the QString to UTF-32 as required by IMF,
the previous code was invalid in the case of strings containing
UTF-16 surrogate pairs.

Removed some extraneous includes.

Change-Id: Ifdf3744d1990e0560d1923bca5db30953dea0192
Reviewed-by: Roger Maclean <rmaclean@qnx.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
2013-12-24 19:17:36 +01:00
Frederik Gladhorn
f0fbff4c90 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
2013-12-24 00:56:59 +01:00
Simon Hausmann
d776937df9 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-12-23 22:44:13 +01:00
Shawn Rutledge
8fa6cb83c6 cocoa: avoid sending windowNotification to a non-QNSView
Then it's possible to embed native cocoa widgets without crashing.

Task-number: QTBUG-35629
Change-Id: Ic212c36178282b4d090c6ce0470012adc8e0c2bb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-12-23 12:16:57 +01:00
Tor Arne Vestbø
ed22c1721b iOS: Fix C++11 build
Change-Id: Ib7dc8dcbeca7e85d97b8c7fb04d2cf42e5245298
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-12-21 15:29:07 +01:00
Andy Shaw
d54af5d3f6 Prevent a crash when there is no accessible interface
Change-Id: I058b76ff9d40b75eb51f9a6b1b89032ead629aed
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-12-21 00:23:15 +01:00
Sérgio Martins
436270e104 Fix warnings about forward declarations (-Wmismatched-tags)
These are structs in gbm.h.

Change-Id: I448ddc072c3aa924672f802dca42b2183470519e
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-20 17:50:02 +01:00
Oliver Wolff
8e2f95e5a2 Fixed another assert in qwindowskeymapper
When we get a WM_CHAR message we do not need to add anything to the key
map as these messages already contain the character code in question.

Task-number: QTBUG-35532

Change-Id: If73993cd873b7c616876b9ba52ceba6b27a6a7b1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-20 11:11:34 +01:00
Konstantin Ritt
e4a910eb2a Minor optimization
Querying the "extra" fallback fonts (which are hard-coded names, actually)
for family only makes sense for scripts that cover more than just a single WS;
these currently are Common (<-Inherited) and Han.

Change-Id: I37682f1ae51a476a21b933607de48b01255cf1c3
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-12-20 10:07:05 +01:00
Konstantin Ritt
4b2c73b476 Fix writingSystems determination by code page range bits
Do exactly what windows font database does to determine
writingSystems in case of non-truetype fonts.

Task-number: QTBUG-13585

Change-Id: I4a1a48d74c36e403c31f20847cf80295d89a34bc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-12-19 05:49:20 +01:00
Daniel Giurcanu
dbf3c559da tslib: Derive default device value from TSLIB_TSDEVICE environment variable
Most devices that use tslib have the device path defined by
the TSLIB_TSDEVICE env. variable.

Change-Id: I89fc17cb2c7fba7741de2fd348aacd608cb21a2a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-18 21:57:44 +01:00
Daniel Giurcanu
1e44ff671e Fix [Linux]/[Linuxfb] screen initialization.
For the linuxfb platform the screen was registered
before its geometry was calculated resulting that
the qpa controller will deal with a screen instance
that has geometry of QRect(0,0,1,1) .
This masks pretty much all the painting and the input.
The fix is to call screen init before registering
the screen instance to the qpa controller.

Change-Id: If84daca6587dc368301b578cdbf7b2a65a56a5b5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-18 20:29:07 +01:00
Morten Johan Sørvig
c8d696eee7 Fix static builds on Mac.
QMacPasteboardMime is a public class in Qt 4. Qt 5 has
two copies, one public QtMacExtras and an internal
one in the cocoa plugin. This causes a symbol collision
when building statically.

Rename the internal copy to QMacInternalPasteboardMime.

Task-number: QTBUG-35310
Change-Id: I891787b451a0b342ed85aa7196e606bc11623e21
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-12-18 20:28:37 +01:00
Matt Hoosier
e40cefff94 QNX: avoid composition when possible
Window buffers are currently always created with an alpha channel when
the underlying display supports them. This is the correct thing to to
in order to support translucency. However, the cost is that the
composition manager unconditionally performs blending even when the
use-case in the GUI doesn't make use of it. That is rather expensive,
particularly on hardware which doesn't have extremely efficient
dedicated 2D blitting hardware.

This patch adds inspection of the user's requested window format
and--if no blending is desired--sets an additional Screen window
property which permits Screen to skip blending on the window surface.

Change-Id: I83c100a351a00ef0e8bea1b1d1fec10b7218d1de
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-12-16 19:29:52 +01:00
Albert Astals Cid
2f38bfe0a3 Remove .values() call in foreach
foreach already knows how to iterate over the values without the need to create an intermediate qlist

Change-Id: Icf6bacc3472e09fde6fe3735086cea289ca0fa96
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-12-16 18:19:03 +01:00
Lorn Potter
ec07cdc91e On configuration removal, take it away from foundConfigurations
Prevents derefence of freed QNetworkConfigurationPrivate pointer in
QConnmanEngine::getConfigurations().
original submitter:  Jakub Adam <jakub.adam@jollamobile.com>

Change-Id: Ib915c5a68aeb3196c6ac91c96338ebee9dad30b6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-12-16 17:32:33 +01:00
Lorn Potter
bfe005a888 make sure to signal only changed configurations
really use this

Change-Id: I082f8d84da572a2c51f67355dcbc06394940c421
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-12-16 17:32:33 +01:00
Lorn Potter
9518c17837 add NetworkSessionRequired to connman caps.
This allows QNetworkAccessManager::get(..) to make a connection,
instead of failing.

Change-Id: If5af707f7e67946357f5530cac724b223441116a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-12-16 17:32:33 +01:00
Frederik Gladhorn
3f3be55835 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/kernel/qplatformtheme.h
	tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
	tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp

Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
2013-12-16 16:59:33 +01:00
Shawn Rutledge
654a9df4be iOS has native windows but not window management
This will tell QtQuick.Dialogs not to use native windows for dialogs.

Change-Id: Ie2e5878b84a9597e1f730d2cb1ebe2f59be6bc75
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-12-16 15:35:30 +01:00
Lorn Potter
b12bec0fcf always use connman to connect to cellular services
connman provides better error messages.

Change-Id: Ifcfd4a4ff8d632273ab9ff7478a6c43cbf2cde98
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-12-16 13:02:19 +01:00
Laszlo Agocs
fc10bfd550 Correct debug bit setting with WGL
No need to tie the debug bit to OpenGL 3.0+. xcb is correct
in this respect, let's correct the windows plugin too.

Change-Id: I13ea48de067d3fb61575be8f71b97bb547d8eb02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-12-13 13:58:07 +01:00
Fabian Bumberger
d56f5df84f QNX: Fix focus handling for secondary screen
This patch removes the activaton aand deactivation of a window when we get the window group
activated event from the navigator. This event is sent to both the primary and secondary screen
and does not state if a window should be active from a Qt perspective.
A window should only be active if it has screen keyboard focus.

Change-Id: Ibbed0dd76a21d86f4b580265f996357a8eef5192
Reviewed-by: Roger Maclean <rmaclean@qnx.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-12-12 15:56:35 +01:00
Tor Arne Vestbø
37f99502f9 iOS: Fix failing assert in QUIView displayLayer()
In layoutSubviews we take the root viewcontroller position into account
when determening the new QWindow geometry, but we were missing this logic
in displayLayer, and would assert if the in-call statusbar was visible.

Since we don't really need the position of the window in displayLayer,
we change the assert to only check the size of the exposed area, which
is independent of the position of the root viewcontroller.

Change-Id: I774b8d9b075518e729f488a789b3a9e584c3f4d3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-12-11 13:40:14 +01:00
Friedemann Kleint
a134b57152 Windows: Show context menu on mouse release.
Introduce a hint to QPlatformTheme to control the behavior.

Task-number: QTBUG-35231

Change-Id: Ia28e153a8dd3f1931321a222d8906ca87166ed62
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-12-10 16:46:22 +01:00
Dominik Holland
639b4e85ae Disable the eglfs input handlers by Environment variable
Added a Enironment variable to make it possible to disable the
automatic installation of EVDEV input handlers.

This is needed if you want to use your own generic plugin instead,
which also uses evdev

Change-Id: I17d47008c10999bf918db62a22a3b6a38d7abb80
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-10 13:44:31 +01:00
Sérgio Martins
fbc6240cc6 Windows: Fix corner case where frameless windows would cover the taskbar.
In commit 0c936ca83c we fixed the case
where the window was maximized programmatically, but if the window gets
restored by clicking on the taskbar we don't get to set WithinMaximize
flag, since we immediately get the WM_GETMINMAXINFO request from Windows.

To reproduce the problem, run tests/manual/windowflags, remove frames,
maximize, minimize, and restore by clicking on the taskbar.

Task-number: QTBUG-8361

Change-Id: I8a7cf4fccbb2c3dac5f570848501ac1e8d2c2307
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-09 15:40:18 +01:00
Simon Hausmann
25b390256b Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-12-09 10:13:48 +01:00
Thiago Macieira
8be546d107 Revert "Move the glxfbconfig configtest to qpa and rename it to glx"
This reverts commit a2d3b7c991. That
commit broke -opengl es2 builds on Linux desktops (when GLX is
available).

/usr/include/GL/gl.h:162:17: error: conflicting declaration ‘typedef double GLdouble’
qopengl.h:97:17: error: ‘GLdouble’ has a previous declaration as ‘typedef GLfloat GLdouble’

Change-Id: Id5f48c05803be1a8c03eeffca139b80e9a85a0eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-12-07 21:17:07 +01:00
Oliver Wolff
fadcb0a72b WinRT: Added networkinterface and hostinfo
While QHostInfo and QNetworkInterface are implemented,
socket implementation is just a stub for now. Having
stub implementation is preferable over not having them
at all is because most applications will not build, if
sockets are not available. Even though they do not
do anything useful yet, applications can be compiled
and run to get an idea how network will work on WinRT.

Change-Id: I78ea88901a30280d4098b75ef7398c2628dd19c8
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2013-12-06 15:06:47 +01:00
Sérgio Martins
0c936ca83c Windows: Don't cover the taskbar when maximizing frameless windows
Brings Windows QPA on par with other platforms.

[ChangeLog][Windows] Don't cover the taskbar when maximizing
frameless windows.

Task-number: QTBUG-8361
Change-Id: Iba35132f697cb7379650a4c883b616c5c2023d4c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-06 13:52:34 +01:00
Frederik Gladhorn
f6dbdd9c16 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/sql/drivers/sqlite/qsql_sqlite.cpp

Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
2013-12-05 18:52:38 +01:00
Frederik Gladhorn
733ace5a7a Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	configure
	mkspecs/macx-ios-clang/features/default_post.prf
	tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp

Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
2013-12-05 17:42:33 +01:00
Andy Shaw
434b37323a Respect the WindowDoesNotAcceptFocus flag
When the window is requested to be made active then it should check if
the window accepts focus or not. If it does not then it should ensure
it informs the underlying system that it does not accept the activate
event.

Change-Id: I3e6533be792d8bdbb2bfcdf3b9c1a93e2c67c75a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-12-05 17:19:07 +01:00
Tor Arne Vestbø
cd1ce77bf8 iOS: Apply default geometry to platform window if not set on QWindow
If a platform window is created from a QWindow without setting a valid
size or position on the QWindow, the platform window is expected to
apply sane defaults. We use the baseclass initialGeometry() function
for this, similar to other platform plugins.

The default geometry unless otherwise set and/or calculated based on
size hints is that of the screen's available geometry.

An improvement to this is to detect whenever we apply the screen
geometry, and also apply the appropriate window state, but that
needs more testing.

Change-Id: I02b12064ce6d55c04fe0cc2cd1d2816ca1113f40
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-05 13:41:53 +01:00
Tor Arne Vestbø
95822e28e2 iOS: Don't claim that windows with zero width and/or height are exposed
When sending expose events to Qt, Qt will ask us if we're exposed,
and we need to tell it that we're not, so that clients will not try
to makeCurrent on a CA layer that has a zero width and/or height.

Note that this only works because we flush expose events.

Change-Id: Idfbe03a2f35681084061376a3c650a8da027fda4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-05 13:41:41 +01:00
Gunnar Sletta
ec03058fa5 Clear QCocoaGLContext's m_currentWindow when window is hidden.
Task-number: QTBUG-35363
Change-Id: I1b3d883ed10200af8a2d4188fb1725b36eb78022
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-12-05 09:16:47 +01:00
BogDan Vatra
2b70b318e3 Android: use binary name when using loadClass.
QtAndroid::findClass uses loadClass methods to find Qt's java classes.
The documentation says that we should use a binary name.

Change-Id: I2146789235435b7052827cde58b7719b7d62dc1d
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-12-05 08:39:59 +01:00
Richard Moe Gustavsen
6c5febd203 iOS: move infoPlistValue to qiosglobal
Change-Id: If237f08683290105413dc47923e23a496765bb22
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-04 14:50:56 +01:00
Richard Moe Gustavsen
2e13285446 iOS: don't show statusbar if hidden from Info.plist
Currently there is no way to always hide the statusbar
on iOS other than showing a window in fullscreen. This
patch will check if the statusbar is (initially) hidden
from the Info.plist, and respect that in the application.

SubAttack is an example of an app that (because
of styling issues with MainWindow margins) manually
sets the geometry larger than fullsreen, and calls
showNormal(). In that case we still want the statusbar to be
hidden.

Change-Id: Ia365d14971978360d0b39621ff0f8f82f74b57e2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-04 14:50:43 +01:00
Tor Arne Vestbø
996d78d4c9 iOS: Handle statusbar changes to child windows
Going through the platform window failed when the parent wasn't created
yet. We can still get the window state of an yet-to-be-created top level
window.

Change-Id: Iaa61ddc50df037ac0bd2fd0884884c2bfce1dd9a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-04 14:50:25 +01:00
Morten Johan Sørvig
63aa431999 Revert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return false"
This reverts commit 2eb1e28a90,
which makes several of the OpenGL examples crash on startup.
(textures, hellogl_es2)

Change-Id: Id47d2df6f57b2396c333e478b3c062f4cb4becb5
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-12-04 14:49:51 +01:00
Richard Moe Gustavsen
b05b940185 iOS: fix assert when using QOffscreenSurface
Qt defaults to creating a QWindow as offscreen surface
if QPlatformIntegration::createPlatformOffscreenSurface
returns 0. Using an offscreen surface is often done
in a background thread, which is problematic, since then
a QIOSWindow will also be created in a background thread.
According to Apple docs, working with a UIView from other
threads than the main thread should not be done. In our
case, we instead hit an assert in QApplication that
checks for the same.

As a quick fix for Qt 5.2, we remove the offending call that
causes the assert, since we anyway will call the same function
lazily when becoming first responder.

Task-number: QTBUG-35378

Change-Id: Id35462f99783a9748c688b163f6497de9bfff73e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-04 14:49:05 +01:00
Tor Arne Vestbø
520eee8570 iOS: Disable drag and drop completely instead of enabling simple d'n'd
The drag and drop event filters do not play nicely with touch events
or virtual keyboards.

Task-number: QTBUG-35348
Change-Id: Id4d079ae72882f48750d394f13e10700d60e4532
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-12-04 14:48:33 +01:00
Morten Johan Sørvig
c687410685 Improve expose event handling.
Prevent the cocoa platform plugin from sending expose
events for windows that are off-screen or has invalid
geometry.

Differentiate between initial exposes and geometry
update exposes, in order that e.g. geometry updates
that happen before setVisible() don't trigger expose
events. After the initial expose geometry updates
to and from invalid geometry will trigger obscure
and expose events.

Task-number: QTBUG-35143
Task-number: QTBUG-35091
Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-12-04 14:48:21 +01:00
Friedemann Kleint
17333720e0 Minimal plugin: Use a dummy font database for command line tools.
Suppress warnings like:
QFontDatabase: Cannot find font directory '...' - is Qt installed correctly?
occurring for example when using qmlplugindump.

Add option flags (similar to Windows plugin) to the integration
class to be used for QT_DEBUG_BACKINGSTORE and other functionality.

Add a dummy font database with empty populate() function to be
used unless the debug flag for the backing store is used.

Task-number: QTBUG-33674
Task-number: QTCREATORBUG-10685
Change-Id: I7eaff3025de12e6b0471a3430f986b0cd810e22c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-12-04 12:07:58 +01:00
Richard Moe Gustavsen
bd9cf0b7b9 iOS: fix crash when focusWindow changes while keyboard is open
It turns out we cannot rely on QGuiApplication::focusWindow() to
be non-zero at all times (e.g when pop-ups are closing etc).
So instead use m_focusView.qwindow which points to a
valid QWindow. This window is the same as QGuiApplication::focusWindow
most of the time, except when a focus window closes.
For those cases we get a new call to scrollRootView immediately
after with m_focusView updated to reflect the new focusWindow.

Task-number: QTBUG-35339

Change-Id: Icb3a8d3140af1f1904495a9289c8c26ab79e70f6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-04 09:11:43 +01:00
Richard Moe Gustavsen
32f71db1bd iOS: fix crash when application quits
An application will sometimes crash if the keyboard
is told to hide while the application is about to
quit. This patch will ensure that we set m_qioswindow
(and [UIView qwindow]) to 0 when the window is destroyed.
We also check this pointer before telling QUIView to
resign first responder when closing the keyboard. The
latter will fix the crash.

Task-number: QTBUG-35356

Change-Id: I934088beb7e877c5b33d96225cb215a8ffd4dbb2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-04 09:11:39 +01:00
Andrew Knight
28d77c24c2 xcb qpa: initialize EGL for non-XLib builds
Move the EGL initialization code outside of the XLib ifdefs, so it
can be enabled for non-XLib builds as well

Change-Id: Ie025551e4e99bb0b365f025356bd9725f4283b82
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-03 20:02:45 +01:00
Richard Moe Gustavsen
119ea0f2db iOS: fix application hangs when opening keyboard
QIOSInputContext controls QUIViews first responder status
based on whether or not the keyboard should be open.
But since QGuiApplication updates focusObject before
focusWindow (when e.g a popup closes), we sometimes ended up
activating the old window upon a call to becomeFirstResponder.
This in turn led the application to hang because of
recursive dependencies in qioscontext when the focus window
changed.

So the solution for now is to avoid activating the window
when the view becomes first responder. This should be
fine since we now activate the window from
QIOSWindow::requestActivateWindow (ref: 6272a816d1)

Task-number: QTBUG-35340
Change-Id: I3068c14fec18d84d4b0b348a043c4c054e366c75
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-12-03 14:12:20 +01:00
Christoph Schleifenbaum
5361513ec8 Cocoa: Mouse enter events on window activation.
This patch tells the window system that it should create a mouse enter
event if a window was activated when the mouse was inside. This wasn't
working and was a regression.

Task-number: QTBUG-35109

[ChangeLog][Cocoa] Fix enterEvent not being called on activate.

Change-Id: I4e4662b4a4c58dafa8d0a2c09458ab88f678d243
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-12-03 11:40:50 +01:00
Friedemann Kleint
1f6c4a514c Use case insensitive comparison when checking platform plugin keys.
Change-Id: Iff44698dcc941ca244b476f0e6c6a993f2ad75f3
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-03 11:16:24 +01:00
Andy Shaw
26a0a3ed85 Respect the custom paper size settings on Mac
When the user added a custom paper size then it would be silently
ignored when printing on Mac. This now ensures that it is respected when
appropriate.

[ChangeLog][Platform Specific Changes][OS X][QtPrintSupport] Respect
the custom paper size settings when printing.

Task-number: QTBUG-34700
Change-Id: I08afe24e0e67a50e9301abf4642c6f65bb0df1fe
Reviewed-by: John Layt <jlayt@kde.org>
2013-12-03 00:23:45 +01:00
Rafael Roquetto
2e7a90bac1 BlackBerry: properly clean up QFileDialog files
Task-number: QTBUG-34983

Change-Id: I1af5c6a9c43eba77394b11d31d1d223af8bc221f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-12-01 01:58:18 +01:00
Rafael Roquetto
f60e383917 BlackBerry: remove unused variable
m_result is not used by qqnxfiledialoghelper_bb10.cpp, only by its playbook
counterpart.

Change-Id: I4fae924283560703393c5313527c5c9c2005d35b
Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-12-01 01:58:07 +01:00
Rafael Roquetto
0312cb3ffe BlackBerry: Fix QFileDialog show()/hide()
QFileDialog::show() no longer worked after the dialog had already been shown
and hidden before.

Task-number: QTBUG-34983
Change-Id: I7300374b74805308e0966db7b3545e5fd8470465
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-12-01 01:57:59 +01:00
Frederik Gladhorn
777cdb00e7 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ibb342cc5fc55ff9a3f4b3ecbd53936b57bc13e63
2013-11-29 15:59:34 +01:00
Lars Knoll
7079f11213 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-29 15:09:56 +01:00
Simon Hausmann
8e04691543 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I2e2bf789b0fe8442ed623bc0c8aef591235cdabe
2013-11-29 11:38:28 +01:00
Laszlo Agocs
dc9e32caed cocoa: Use swapInterval from QSurfaceFormat
xcb and windows already do this. The default value is 1 so the
behavior on cocoa does not change when setSwapInterval() is not
called.

Task-number: QTBUG-31939
Change-Id: Id9d9204c9324f1cc187c6aee4286e7da42583759
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-29 10:26:02 +01:00
Tor Arne Vestbø
9b782dca45 iOS: Update screen properties when we trigger statusbar changes on iOS7
Ideally we'd have a callback from iOS when this happens, so we can also
react to changes done outside of Qt, but willChangeStatusBarFrame and
friends do not seem to give us what we want.

Change-Id: I686ce7950395a83c4257372363c773a95c3935ed
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-29 09:55:14 +01:00
Tor Arne Vestbø
c5b19f2521 iOS: Forward [UIApplicationDelegate handleOpenURL:] to QDesktopServices
The user may use QDesktopServices::setUrlHandler() in combination with
the appropriate Info.plist keys (CFBundleURLTypes, CFBundleURLSchemes)
to react to URL requests from other applications.

This is among other things useful for handling OAuth authentication from
applications such as Dropbox. See:

  https://www.dropbox.com/developers/core/start/ios

We protect against recursive URL opening, but an application may still
redirect a request to open a URL by opening another URL, eg a website.

Task-number: QTBUG-35201
Change-Id: I9f1d246206c5594b1b65bb11fa98c6bcdefc443e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-29 09:55:05 +01:00
Liang Qi
d55db6dd53 Cocoa: avoid a crash in QCocoaDrag
NSEvent needs to be copied.

Reference:
http://lists.apple.com/archives/cocoa-dev/2007/Dec/msg00678.html

Task-number: QTBUG-33533
Change-Id: I73709545573e59aab6875a8c3dd903cb171e858f
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-11-29 08:49:06 +01:00
Jorgen Lind
a2d3b7c991 Move the glxfbconfig configtest to qpa and rename it to glx
We require glx version 1.3 which is where fbconfig is first defined.
Also make use of the configure test and report the glx status.
GLX support should always take precedence when compiling the
xcb backend

Change-Id: Ie46834210bf5cd2ac4006ff08379e0d3434ffa2b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-11-28 12:57:33 +01:00
Andrew Knight
d34cae51fa Add new configure parameter for Xcb-Xlib
This adds a new configuration parameter, xcb-xlib, which allows
overriding the configure test for that existing configuration option.

The use of xcb-xlib in the xcb platform plugin becomes the preferred path
for non-OpenGL ES 2 builds, while the EGL codepath is used otherwise.
This has the advantage that EGL can be used with Desktop OpenGL if Qt is
configured with -no-xcb-xlib.

Change-Id: I5018e31fe0399b94f020c671eff9414d00431c44
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-11-28 12:57:33 +01:00
Jorgen Lind
75c9a058b3 Remove stale xcb_dri2 code in QXcbNativeInterface
Change-Id: Ifc8dc8d84fc60b70f8a49282dfe32cd248bef9ba
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-28 11:21:44 +01:00
Simon Hausmann
83d36c3ff8 Merge remote-tracking branch 'origin/release' into stable
Change-Id: I860404a1ef18c88a968a9eded405bb67967047b9
2013-11-28 09:19:24 +01:00
Jorgen Lind
dc03e0c429 Return the xcb_screen_t and not the QPlatformScreen
from QXcbNativeInterface. The QPlatformScreen is available from
QScreen::handle()

Change-Id: If81daf34c07f4a49c85c43d3755d1a9167626d6d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-11-27 18:50:36 +01:00
Louai Al-Khanji
b8ff073c0d Fix directwrite font engine compile
Add missing comma that prevented compilation.

Change-Id: If771366adf3a31427c2beefa09c0206653f8ec84
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-27 16:43:41 +01:00
Zeno Albisser
ca73f493a1 Allow resetting Qt::WindowFullscreenButtonHint
Currently Qt::WindowFulscreenButtonHint is only
respected on window creation. But flags
can also be adjusted later on.
Further setWindowShadow can be removed from
within createNSWindow, as it operates on a Nil
object in that case. It is however called by
recreateWindow / setWindowFlags subsequently.

Change-Id: I507d6fde5ad2f0ee5b9db322325ede99b70e151e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-11-27 15:10:36 +01:00
Gabriel de Dietrich
1aa4ac61f9 QCocoaFileDialogHelper: Cache directory until delegate has been created
Task-number: QTBUG-34393

Change-Id: Idee9e879e586afe25fd099d157ed7af88c17c4a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-27 11:46:28 +01:00
Laszlo Agocs
09466a942e windows: Set forward compatibility bit properly
The bit should be set when QSurfaceFormat::DeprecatedFunctions is
_not_ specified. The documentation was correct, the implementation
was not.

Change-Id: If7202d3a59d5336fff255a290b65fb4bfa7b79c9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-27 09:38:17 +01:00
Frank Osterfeld
94c17dce04 QNX: Fix retrieving the window group name
The code assumes that there is a root window, and crashed
otherwise.

Task-number: QTBUG-35121
Change-Id: Idbf0e0bfc03cd427f0aab81db88b34fe94228c81
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-27 08:25:15 +01:00
Frederik Gladhorn
4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).

Conflicts:
	configure
	qmake/generators/win32/msvc_nmake.cpp
	src/3rdparty/angle/src/libEGL/Surface.cpp
	src/angle/src/common/common.pri
	src/corelib/global/qglobal.h
	src/corelib/io/qstandardpaths.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxscreeneventhandler.h
	src/plugins/platforms/xcb/qglxintegration.h
	src/widgets/kernel/win.pri
	tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
	tools/configure/configureapp.cpp

Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
2013-11-26 22:35:48 +01:00
Erik Verbruggen
b84072a431 Fix compiler warnings.
As seen with Xcode 5.0.2.

qmacclipboard.mm:108:30: warning: cast to 'void *' from smaller integer type 'int' [-Wint-to-void-pointer-cast]
        promiseKeeper(paste, (PasteboardItemID)promise.itemId, flavor, this);
                             ^
qmacclipboard.mm:316:56: warning: cast to 'void *' from smaller integer type 'int' [-Wint-to-void-pointer-cast]
                        PasteboardPutItemFlavor(paste, (PasteboardItemID)itemID, QCFString(flavor), 0, kPasteboardFlavorNoFlags);
                                                       ^

Change-Id: I94b8ea2ff32d606d4cab28981b26c2ef516035dc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-26 11:05:36 +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
Frederik Gladhorn
3061dc4abd Merge remote-tracking branch 'origin/release' into stable
Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
2013-11-26 10:51:34 +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
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
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
Chris Colbert
ab76593f18 Fix the ignored Qt::WA_StaticContents on Windows
This restores the ability from the Qt 4.x series to honor the static
contents region in the backbuffer when resizing a widget. The fix
only applies when running under Windows.

Task-number: QTBUG-34799

[ChangeLog][QtWidgets][Windows] Update QWidgetBackingStore and QWindowsBackingStore to support Qt::WA_StaticContents
QWidgetBackingStore::staticContents() was updated for windows to *not* unconditionally return false. It now
returns true if it has a non-empty static widgets list. QWindowsBackingStore::resize(...) was updated to honor
the provided static contents region. It now copies the static region into the new backbuffer in a manner similar
to what was done in Qt4. The difference is that this version accounts for the possibility of the new buffer having
a smaller region than the old buffer. In Qt4 the ::prepareBuffer method was only called when the buffer was resized
larger.

Change-Id: I135ff8fb16f52759089f1e7353426303c4504db3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-25 07:52:44 +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
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
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
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ø
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
Josh Faust
0a170be576 Fix OpenType fonts with cmap tables on Windows
Task-number: QTBUG-31656

Change-Id: I5405d80f3ac1de488c44c9f1ac9ed9942ceab6b8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-22 18:22:12 +01:00
Frederik Gladhorn
225526410b Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-22 16:47:35 +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
Gatis Paeglis
52fc0a95a1 Look at locale aliases if initial search in compose.dir fails
The file "locale.alias" (located in the same directory as "compose.dir"),
contains following text:

"This file contains alias name of locale.
Each alias name is described within one line.
The first word is the alias name (simplified locale name)
the second word is full locale name."

Therefore, if initial search in the compose.dir fails to find a match we
make sure that a 'full locale name' was used in the initial search, if not,
we try again.

Task-number: QTBUG-32461
Change-Id: Ie7766658f22433524bd6e4bc829e32c6e3a0cbd0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-21 14:37:14 +01:00
Andy Shaw
0ac9ea83f8 Handle the Qt::FramelessWindowHint correctly in Cocoa
This fixes a regression introduced by
be405c86f8.

Task-number: QTBUG-34988
Change-Id: Id825b51d4d94826819d2405bb711886db3db8bc8
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-21 11:01:50 +01:00
Tor Arne Vestbø
c62efb52b5 iOS: Use custom method to lay out windows instead of resizeMaximizedWindows()
Since we guard against overriding the geometry in setGeometry() when a window
has a window state, we need to use a custom method to lay out windows that
calls applyGeometry() instead.

Change-Id: I6508e6aac6746c024a6172f709b8339b35b40994
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-21 11:01:33 +01:00
BogDan Vatra
eef293b1a0 Don't send ApplicationStateChanged, if platformIntegration is not set.
Task-number: QTBUG-34868

Change-Id: Ia86877550884a3037b9ddedf5d8e227ec1ead2d6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-11-21 07:39:52 +01:00
Jens Bache-Wiig
cd61eacae1 Fix crash regression for ApplicationWindow on Mac
This fixes a recent regression following the integration of
change:

7cc1656fef21e6bdc044968a79f0a41155357c29
(Make sure menu bar has a parent window ...)

As it now consistently crashes on mac in several of the
Qt Quick Controls examples, it is critical that it gets into
the release branch.

Change-Id: If3db1025229a7f7fd4e7ecc703d5f655db73964d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-11-21 07:29:35 +01:00
Bernd Weimer
e89a9428d5 BlackBerry: Fixed root window size
On BlackBerry the first window shown is treated as root window and
should be displayed full screen. The geometry has to be adjusted
properly to achieve this.

Task-number: QTBUG-34930
Change-Id: I6c011620116cc463e16dd352521b2b901a9f9f69
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-20 18:22:50 +01:00
Frederik Gladhorn
ff4ad44b69 Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	configure

Change-Id: I0d31f23483ea67c4cac5af16014366e1ba5ac093
2013-11-20 17:16:59 +01:00
Gatis Paeglis
486889523c Workaround source compatibility issue introduced by xcb 1.9.3
Previous version of the struct:

typedef struct {
    uint8_t  response_type;  /**< Type of the response */
    uint8_t  pad0;           /**< Padding */
    uint16_t sequence;       /**< Sequence number */
    uint32_t length;
    uint16_t event_type;
    uint16_t pad1;
    uint32_t pad[5];         /**< Padding */
    uint32_t full_sequence;  /**< full sequence */
} xcb_ge_event_t;

New version of it:

typedef struct xcb_ge_event_t {
    uint8_t  response_type; /**<  */
    uint8_t  extension; /**<  */
    uint16_t sequence; /**<  */
    uint32_t length; /**<  */
    uint16_t event_type; /**<  */
    uint8_t  pad0[22]; /**<  */
    uint32_t full_sequence; /**<  */
} xcb_ge_event_t;

Changes are:
- "pad0" became "extension"
- "pad1" and "pad" became "pad0"

More details in https://bugs.freedesktop.org/show_bug.cgi?id=71502

Task-number: QTBUG-34748
Change-Id: Ibd801c11510f75fa82d5c14346b95236142487ac
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-20 16:09:28 +01:00
Tor Arne Vestbø
f1268d137e Allow platform to decide default behavior for show() based on window flags
The ShowIsMaximized and ShowIsFullscreen style hints were not granular
enough to build a default behavior from that would be correct for all
platforms. The recent Android patch that excluded dialogs from being
shown maximized (Ia249e93dbbea1) has now been moved into a platform
override in the Android integration plugin, leaving other platforms
to the default behavior of using the style-hints. We still special
case popup-windows though, as that behavior has been there for a
while.

Task-number: QTBUG-34969
Change-Id: Id36346d71bfc46171383ffe334592ca0b94e456f
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-11-20 16:09:28 +01:00
Frederik Gladhorn
982da20cf2 Remove empty QAccessible2 header
Change-Id: Ia5e9b1adf9280e6b7d7aaf8cb5b5167b694a6070
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-11-20 15:11:24 +01:00
Tor Arne Vestbø
16ad93af49 iOS: Don't use auto resizing masks to deal with maximized/fullscreen
It breaks down when the view-controller is fullscreen and we want to
take statusbar height into account as well. Unfortunately we can't
use constraints either, as it's iOS6+.

The approach of managing the geometry manually is closer to what
Android does as well.

Change-Id: Ib521ba0f50b110c440ab68aacef5a524d5d41154
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-20 14:10:18 +01:00
Tor Arne Vestbø
ce6fd574b4 iOS: Report native orientation of QScreen in relation to size
Instead of hard-coding it to assume the properties of the main/device
screen.

Change-Id: I94c978d4334cae5be9d1094a0c315031e54e8e1f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-20 14:10:18 +01:00
Tor Arne Vestbø
2e2c7327dd iOS: Prepare platform screen for reacting to dynamic updates to properties
Change-Id: Idb378416da2b559ed88eb5a764cacff149264f70
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-20 14:10:18 +01:00
Tor Arne Vestbø
c3e949ac7d iOS: Allow non-top-level windows to be activated
As tested and assumed by tst_QWindow::isActive().

Change-Id: I8d09263ce0acc9c3390a70b4089396257197a1be
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-20 14:10:18 +01:00
Tor Arne Vestbø
837228151d iOS: Don't keep around reference to a single QIOSViewController
We might have more of them in a multi-screen setup or when implementing
support for modal windows using sub-viewcontrollers.

Change-Id: Ibe98273a13af981fffe2704a2c05bfd9d3f3e9e0
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-20 14:10:18 +01:00
Tor Arne Vestbø
0c012b6470 iOS: Send expose events in the window's coordinate system, not the parent's
Change-Id: I4aa1a354ca14864bd9898ebd331871d7b32d3ae0
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-20 14:10:18 +01:00
Frederik Gladhorn
c83c08d84f Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-20 12:18:23 +01:00
Arvid Nilsson
711d0a1658 Add QQnxNativeInterface::nativeResourceForContext
This mechanism is used by QtWebEngine to extract the platform GL
context. In the QNX case, the platform context is an EGL context, so
the resource you need to ask for is the "eglcontext". Compare to the
xcb native interface which has a similar implementation already.

Change-Id: I873eaadf96898abb24de347ac624c88cd54254cb
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2013-11-20 10:33:04 +01:00
Andy Shaw
f3a4bc17ab Keep the dockwidget with the mouse when moving to another screen
When you move a dockwidget from one screen to another then it needs to
be kept at the same position on the new screen, i.e. with the mouse
pointer. This fix ensures that this is happening including when the
screens may not 100% align up with each other.

Task-number: QTBUG-33369

Change-Id: If414effdd0e0415629ca31a86f8bbe382dd29f80
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-20 10:33:04 +01:00
Alberto Mardegan
911cfc4e90 XCB: do not assume that sizeof(long)==4
The code was using the "long" type when a 32 bit type was actually
needed. This can cause bugs in those systems where "long" is 64 bits
wide, such as Linux x86-64 (which is LP64).

Task-number: QTBUG-34861
Change-Id: Iab289b2af3847dd62d8b4ecea51896936ca4c7a2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-11-19 14:31:08 +01:00
Roger Maclean
ac6b9be9b3 BB10: Clean up IMF session code
Be more rigorous about checking if we're in a session before invoking IMF functions.  In
particular the code would call initEvent if a key was received while no text field had focus
leading to a crash.

Also closeSession is now always called when a session is terminated rather than just
setting sInputSession to 0 and hasSession is always called to check for a valid session.

Change-Id: I22ce1c9bcdf8dd130f05ae319c4cc1e01afc4456
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-19 14:18:53 +01:00
Friedemann Kleint
dcd71a0897 Android: Remove usage of QObject::tr()
Change-Id: I948d9fc36aa52d2d247a84b5d9b2cf949b93387d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-11-19 10:39:20 +01:00
Jorgen Lind
f087ffdc53 Remove the GLES 2 dependency for eglfs and kms
Change-Id: If7b80487e01db726367f5a67d2860073f60a0844
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-19 10:14:30 +01:00
Tor Arne Vestbø
eccd365ac5 iOS: Don't enable kEAGLDrawablePropertyRetainedBacking
We report our swap-behavior as QSurfaceFormat::DoubleBuffer, which means
there's no point in using retained backing. This was a left-over from
when we reported single-buffered swaps, which didn't work to well as
clients would wrongly assume swap was not needed at all.

Change-Id: Id26df2f8b282892c720d48cfe85eb9e010f1500d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-18 19:26:56 +01:00
Sérgio Martins
cd93a2c0e1 Windows: Fix bug where windows stopped painting after a restore.
This is an improvement over 6800728d where we only fixed it if
the window was in "normal" state (Qt::WindowNoState) before
minimizing.

With this patch, if the window was previously maximized or
full-screen it will also get the expose events when being
restored.

Change-Id: I4a30423145e0999c5d0a5ee2a989730b83f4e3f2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2013-11-18 10:14:30 +01:00
Andy Shaw
be405c86f8 Fix the window flags for Cocoa windows
This ensures that the possible window flag combinations are respected
where possible in Cocoa.

Task-number: QTBUG-34645
Task-number: QTBUG-31616
Change-Id: I6be8ca666b7cbc397575e97cd95ea298f52a7113
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-11-16 16:39:23 +01:00
Erik Verbruggen
81f2d6eaac Fix compiler warning for cast from int to id.
qcocoaapplication.mm:118:61: warning: cast to 'id' from smaller integer type 'int' [-Wint-to-pointer-cast]
    id a1 = ([args->arg1 isKindOfClass:[NSNumber class]]) ? (id)[args->arg1 intValue] : args->arg1;
                                                            ^
qcocoaapplication.mm:119:61: warning: cast to 'id' from smaller integer type 'int' [-Wint-to-pointer-cast]
    id a2 = ([args->arg2 isKindOfClass:[NSNumber class]]) ? (id)[args->arg2 intValue] : args->arg2;

Change-Id: Ibcf3d5d5698ff863f3c9bd65e0388ccca147f419
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-15 16:44:28 +01:00
Shawn Rutledge
e3383ab646 GTK theme should not claim to provide a native MessageDialog yet
It was providing all possible types, but now MessageDialog is a new
native dialog type, and only on Android at the moment.

Task-number: QTBUG-34784
Change-Id: I2fb288c8d5e176ca4dafbbc310de2f29bbcfc000
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-11-15 16:44:03 +01:00
Lars Knoll
3e88ebc43d Remove stray debug output
This was actually causing test failures in qtdeclarative
and blocking the CI there.

Change-Id: I4538342f16b6468ad60b283c19948863b20ad5d4
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-15 13:02:40 +01:00
Uli Schlachter
7e468353c3 xcb: Only create listener window when needed
The xcb QPA plugin uses a separate thread for getting events from the
X11 server in a race-free manner. This thread has to be stopped when
shutting down.  This is done by causing the X11 server to send a special
event that causes the thread to exit when it sees it. (Also, the thread
exits if the xcb connection goes into an error state, but that does not
matter here)

So this event listener window is only needed when Qt is sending events
to itself. This means that it does not have to be kept around and
instead can be created only when needed.

Since this window does not stay around for long, it does not need a
name. However, it does need the list of screens to find the correct root
window, so destroy screens later.

Change-Id: Ib4104cbc3f372fa5d1391bcf5a633a158409862f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-15 08:11:56 +01:00
Bernd Weimer
00b13e6388 QNX: Fixed touch event positions
Touch positions reported by libscreen have to be adjusted relative to
the window position to be properly interpreted by Qt.

Task-number: QTBUG-34812
Change-Id: I68744dc9da95fb1d0d1704d12154fb24c148fe03
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-11-15 06:37:29 +01:00
Eskil Abrahamsen Blomfeldt
63824d2e00 Android: Support popup menus
This is used by QML comboboxes, menu buttons, etc.

Task-number: QTBUG-31420
Change-Id: I6d3f32fd80ce91c4be34eae636d1b95a4e251a49
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-11-15 06:36:00 +01:00
Laszlo Agocs
f3f25b1469 Avoid using GLX pbuffers on fglrx
Task-number: QTBUG-34427
Change-Id: Ief4fe2fe2ab099d4ec61b6bfb2272724dfb2a800
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-11-14 21:15:35 +01:00
Sean Harmer
9f75292a60 Remove side effects of QGLXContext::queryDummyContext()
Task-number: QTBUG-34782

Change-Id: I411c89238b3002a118b1750af0157ccff5c78712
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-14 21:15:35 +01:00
Sean Harmer
038b0dae83 Update QSurfaceFormat when creating a GL context in the cocoa qpa
Task-number: QTBUG-34471
Change-Id: I99f643280b8a4aaa8d63329232c0c3f4b2faed4b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-14 21:15:35 +01:00
Paul Olav Tvete
b8c93d4592 Android: work around input method cursor position bug
Since the Qt input method queries only give us information
on the position within the block, moving to the same position
in a different block will be interpreted as not moving.

The quick fix is to send a fake position before the real one in
this case.

Task-number: QTBUG-34845
Change-Id: I5d62bdffc283e41d0384c60a0b69c01811caa629
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-11-14 21:15:35 +01:00
BogDan Vatra
2828072d50 Android: Initialize mWindowState
Use the same variable in QAndroidPlatformWindow.

Task-number: QTBUG-34764

Change-Id: Idf33707e81cf7306663196f3c17735d8dc1dde5d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-14 21:15:35 +01:00
Gunnar Sletta
bcf5dbc8a0 Fix jerky animations in Qt Quick for iOS.
This will make Qt Quick use consistent timing which
prepares animation frames for the time they go to
screen, rather than the current time at the time of the
animation tick, which can be quite jerky in many situations.

Change-Id: I1bbd4394db0c757553ee406d416fccb3ef937db8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-14 21:15:35 +01:00
Paul Olav Tvete
3ebcbdd322 Android: fix crash on exit
Let's not try to dereference the null pointer.

Task-number: QTBUG-34746
Change-Id: Iee79b711bd81614e36af4ab3612f9a87053a39f2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-14 19:26:20 +01:00
Tor Arne Vestbø
d160f19507 iOS: Enable clipping of subviews when QWindow has child windows
QWindow::setParent() is documented to imply that the geometry of the
window is in the parent's coordinate system and that the window is
clipped to the parent.

Instead of always enabling clipping of subviews for our UIView subclass
we dynamically detect if we have QWindow children and enable/disable it
on the fly.

Change-Id: If83de94c55cbd19de401ab835e86bb7be5999d71
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-14 19:26:20 +01:00
Tor Arne Vestbø
3a7104420c iOS: Remove background color for UIWindow and UIViewController's root view
They were handy while debugging the iOS platform plugin, but should not
affect users who link against debug libraries, so let's just remove them.

Change-Id: I61b157e81130e5d951c22892e00f71e593082b1d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-14 19:26:20 +01:00
Tor Arne Vestbø
2afbd92274 iOS: Get rid of separate release pool for QIOSScreen
We don't use separate pools anwyhere else, and this was copied straight
from the UIKit plugin. Unless there's a good reason for having it in this
particular place we should keep things consistent.

Change-Id: I9a3f83bcc5894a2cdfd9af7818b46d6c0f8448da
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-14 19:26:20 +01:00
Tor Arne Vestbø
bb1225f5ba iOS: Tie QIOSContext FBOs to corresponding QPlatformWindow, not QWindow
A QWindow may be created() and destroyed() multiple times in the lifetime
of the window, each time resulting in a new platform window (QIOSWindow)
being created. This QIOSWindow is backed by a new UIView each time, hence
it needs a new FBO and renderbuffer-mapping, since the previous
renderbuffer was mapped to the old UIView.

This fixes a bug where a QWindow would not render after a destroy()
unless it was resized (which triggered new FBO/renderbuffers).

We need to inherit QObject so that we can watch the destroyed() signal.

Change-Id: I93172dd6280b86b49755bf7abddf061d7e6b66f1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-14 19:26:20 +01:00
Tor Arne Vestbø
18182a6275 iOS: Handle key window as part of QWindow activation
The default UIWindow may not be the only UIWindow around in a multi
screen setup.

Change-Id: Ia7243190321a1416e577634bf5e010dd67d482e6
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-14 19:26:20 +01:00
Tor Arne Vestbø
e6eadd6f61 iOS: Flesh out device-pixel-ratio handling in QIOSWindow
We don't need to cache the device-pixel-ratio, as we can ask the UIView
directly. We do need to set it though, as the default behavior of
matching the screen scale does not apply for EAGL-backed views,
but the ratio needs to match the current screen the view is on.

Change-Id: I29e4a4fa4f4b767d86265ec899fb43a355b5c3a3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-14 19:26:20 +01:00
Laszlo Agocs
5dd94b75e3 Add swapInterval to QSurfaceFormat
Implement swap interval support for EGL, GLX and WGL.

The environment variable QT_QPA_EGLFS_SWAPINTERVAL is renamed to
QT_QPA_EGL_SWAPINTERVAL and can be used to override the applications'
setting of the swap interval.

Task-number: QTBUG-31939

Change-Id: I644325d5d3306b7604bffd7efccda3c00ed37d36
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-13 09:47:34 +01:00
Fabian Bumberger
fd619946be Refactor QQnxWindow
This patch does following things:
* Remove the root window: First window which is created will serve as a root window
* Allow creation of more than one application window (with every app window having
  an own window group) on one screen
* Fixes a bug when reparanting an EGL window

Change-Id: I1afd64a813bc084c0893b958aa191d4a25c32b9d
Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-11 04:24:57 +01:00
BogDan Vatra
ef6544ee27 Android native message dialog
Change-Id: Ief8c3ce3b8683c6960f046245844c1835a327d51
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-09 10:41:25 +01:00
Maciej Kujalowicz
f45e12f91a iOS: Send expose event when a window changes the geometry.
When the EAGLView view changes its layout, it must send the expose event
along with the geometry change. It is important to notify the render loop
of the scene graph that the windows's geometry has changed. The render loop
is waiting for the WM_Expose event and updates the scene's window size accordingly.
See QSGRenderThread::event for reference.
Without this notification, the geometry of window is updated, but the scene is rendered
incorrectly, for example when the orientation of screen changes.

Change-Id: If102014313de455cb1f44d772b478d2feae6dacf
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-08 18:52:36 +01:00
Gabriel de Dietrich
c934ea341e Cocoa File Dialog: Remove sandbox-ufriendly file system watcher
QFileSystemWatcher causes sandboxing errors since its backend uses
POSIX API in a relatively liberal way.

Also, Cocoa already acts as a file system watcher, and calls
-[QNSOpenSavePanelDelegate panel:shouldShowFilename:] on each
file. From a logical point of view, caching the directory content
can be replaced by testing the current file against the filter
setting. We expect Cocoa to cache results, and by using NSFileManager
things should remain relatively fast.

Task-number: QTBUG-34107
Change-Id: Ia872b9b1244f7b390d173a498011379b9309b3c6
Reviewed-by: Cyril Oblikov <munknex@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-08 11:35:29 +01:00
Tor Arne Vestbø
ac7823129a iOS: Cancel any active touches when destroying a QIOSWindow
Keeps the internal state of QtGui sane when it comes to which buttons
are active, etc.

Change-Id: Ic63e74d2546469e085ec46b74f4cf159dd409b07
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-08 07:21:40 +01:00
Tor Arne Vestbø
59be0509e0 iOS: Detect/handle cancellation of subset of touch points
Change-Id: I0d345d07fe62a8c7844333bf1eed9be6d6fa432f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-08 07:21:29 +01:00
Tor Arne Vestbø
24d1f58414 iOS: Rename QIOSWindow's backing view from EAGLView to QUIView
Matches the cocoa QNSView and highlights the relation to UIView.

Change-Id: Idcdb17bff994c1e0aef099400c21915a7041e44c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-08 07:20:08 +01:00
Tor Arne Vestbø
a301e868f7 iOS: Rename m_requestedGeometry to m_normalGeometry
Matches the wording using in QWidget.

Change-Id: Ifbb4e5ffa90b47a7c179cf9ec52cb46126d7bccc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-08 07:19:57 +01:00
Liang Qi
b2f2636217 Cocoa: fix a crash in QCocoaFileDialogHelper
Current directory can't be nil.

Task-number: QTBUG-34561
Change-Id: I58c84da4928bd9081c916b6e5541bb86cf75ed47
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-08 05:29:38 +01:00
Friedemann Kleint
6ff08b7db3 Windows: Do not set transient parent on popups.
Analoguous to Window creation code.

Task-number: QTBUG-34503

Change-Id: I3cf7d58999bff5b106ca9d2e2c6f550e35f9db9a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-07 12:57:58 +01:00
Friedemann Kleint
f48bc3ef40 Add a warning message when a WM_DESTROY not triggered by Qt is received.
Task-number: QTBUG-34503

Change-Id: I7a1e06b34deaf8e595f4986114701480bdcf219c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-07 12:57:58 +01:00
Bernd Weimer
a94f61063a QNX: Fixed "normalPosition" of touch events
Pixel positions have to be set in relation to screen size in pixels,
not the physical size to calculate the normal position in the
range 0..1.

Change-Id: I6880fb64b7c3049d657fd081b564b945399b5865
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-11-07 10:00:19 +01:00
Tor Arne Vestbø
96d74313fe Add missing Q_INIT_RESOURCE
The library needs to do Q_INIT_RESOURCE for all resources it uses
internally, otherwise static linking will fail, and the user has
no idea how to rectify it as the name of the missing resource is
not known. The Q_INIT_RESOURCE needs to happen outside of any
namespace, hence the use of static initResources() functions.

Change-Id: I8f7d36b440b05809d97dd489cf8789f345633cec
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-07 10:00:19 +01:00
Richard Moe Gustavsen
6272a816d1 iOS: set active window upon calls to requestActiveWindow
We did not do this from before. Instead we would activate
the window when it's view became first responder. And this
would happen when the input panel was told to open.
That behavior is a fragile, since other layers higher
up (qml) would not open the input panel unless the window
was active, which also makes sense. A classic chicken and
egg problem.

So to play more along with how Qt is expected to work, we
change behavior to instead activate the window directly
when requested to do so (which also includes when the user
touches the window directly). This will also work better
for "keyboard" events like Key_VolumeUp, once implemented.

The down side is that Qt will give focus to widgets/items
(and as such, open the keyboard) whenever you touch the
window. But that is easier to fix, and will be dealt with
in later patches.

Change-Id: I9bbeb0205e7ea3c5079100c07e40ddb1c60b476b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-06 20:50:09 +01:00
Paul Olav Tvete
d8f7a2ddf4 EglFS: make sure resize events are delivered
Make sure that resize events are delivered when the platform
plugin overrides the geometry set in setGeometry().

This fixes a race condition where a widget was resized to its
sizeHint() while the window was maximized, and the content was
shown scaled on the screen.

The problem is that the widget gets the wrong size from
QWidget::setWindowState() (which calls adjustSize() in order to support
normalGeometry). This size is used to resize the backingStore. When the
QWindow is resized, it calls QEglFSWindow::setGeometry() which corrects the
size to screen()->availableGeometry(), and triggers a GeometryChangeEvent
since the size was corrected.

This ends up in QGuiApplicationPrivate::processGeometryChangeEvent() which
will not send a resize event, since the size has not changed (it is always
availableGeometry()). Therefore the widget is never resized, and the
backingStore remains the wrong size.

Task-number: QTBUG-34421
Change-Id: Iee49c53cc529de36010db2695d838d8c2284edd4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-11-06 17:47:25 +01:00
BogDan Vatra
417cf3fc53 Android: Fix menu on API-11+
On API-11+ if there is no hardware menu button show the action bar.
Fix menu when using the opengl android plugin.

Task-number: QTBUG-32002

Change-Id: I45bd49107621e4cab85eb6411897229e20bb8281
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-11-06 16:09:30 +01:00
Tor Arne Vestbø
04ad4d7de5 iOS: Remove unused QIOSWindow methods for getting effective width/height
Change-Id: Ifdfd5881822bf56f2c8ab0742a0e257e2bd61533
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-06 14:21:56 +01:00
Frederik Gladhorn
49a3c87175 Remove two unused functions from QAccessibleTabBar
Change-Id: Ib3296a11b1bb9656f2b0c14106ea09f529311ccf
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-06 08:34:34 +01:00
Gunnar Sletta
e7fd798af0 Disable threaded rendering for Intel HD 3000 cards.
Task-number: QTBUG-34492
Change-Id: I1848cde3fb9517679fd54a7170ed5bee40880edc
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-11-06 00:35:43 +01:00
Frederik Gladhorn
2c11a492fb Add better version checks for accessibility
We would spam the debug output on devices with api < 16 with some
warnings that the super class a11y delegate could not be found and
others.
Instead check the runtime version before trying to load the JNI code and
only load the delegate if api is new enough.

Change-Id: I52286cb99924b034b9b58c53566f15030939b0c9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-05 19:08:08 +01:00
Jan Arne Petersen
54ed14d5c6 Support native event filters for screen events
Change-Id: If0af4544191c513e64f582cece4a453c1ab5c8e7
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-11-05 19:08:08 +01:00
Gabriel de Dietrich
2eb1e28a90 Cocoa (OpenGL): If no view is attached, makeCurrent() should return false
Change-Id: Ie2869fae1549c3b0a8ef78702410e6ca0c980737
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-05 17:37:05 +01:00