summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* QCocoaTheme: Fix size of pixmap returned by fileIconPixmapEike Ziller2014-01-171-8/+16
| | | | | | | | | | | | | | The code assumed that CGImageForProposedRect would return a sensible sized image, but that can return basically any size (depending on the NSImage's image representations). In the case of the bug report this is a 1024x1024 pixmap when requesting a pixmap of size 64x64 and larger. Make sure that we return a pixmap of the exact requested size. For this, themeHint must also return sizes in device coordinates. Task-number: QTBUG-35009 Change-Id: Iaae11023bab6d4122815ca4010aab6967dfb18a0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* eglfs: Allow using a different framebuffer deviceLaszlo Agocs2014-01-162-5/+24
| | | | | | | | | | | | | | | | | | | | Right now /dev/fb0 is hardcoded. This is not ideal. Therefore QT_QPA_EGLFS_FB is introduced. This environment variable can be set to a different framebuffer device. Once it is set, eglfs will use the specific device. This is similar to linuxfb's fb=... plugin parameter. The actual behavior depends on the board-specific implementations. For now only iMX6 has real support. It extracts the index from the device name as bind the EGL display to the corresponding framebuffer using the vendor-specific fbGetDisplayByIndex(). Other hooks can follow suit later on. With this patch eglfs is at least on par with linuxfb, meaning that, if the board supports it, different apps can run on different screens. Task-number: QTBUG-36113 Change-Id: Ia3c88bd06e108bc668433e3c5c3fce34a5a0e73d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Saving physical size changes of screen on WindowsCyril Oblikov2014-01-151-0/+2
| | | | | | | | On windows (tested on win7) physicalSizeMM is changed after changing screen resolution. We need to save new size. Change-Id: I1b38d9ba2af9679812a973737a724c9a9c5395da Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Use focusWindow() as native dialog parent when 0 is passed.Friedemann Kleint2014-01-141-0/+2
| | | | | | | | | | A parent is required, otherwise the application gets deactivated when the dialog closes. The same is done in Qt 4. Task-number: QTBUG-36039 Change-Id: I56688b3259f1d207edd1bec499afd1365ae511dc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Cocoa: Add setContentBorderThickness().Morten Johan Sørvig2014-01-116-2/+69
| | | | | | | | | | | | | | | | | | Add setContentBorderThickness() to the Cocoa platform plugin. This functions requests that the platform plugin draws a gradient in the unified title and toolbar area and/or the status bar area. The background gradient is drawn before and under the Qt backing store content. It is expected that parts of the backing store will be filled with transparent pixels to allow the gradient to be visible. To facilitate this the backing store image is created with an alpha channel. Task-number: QTBUG-34411 Change-Id: Iadc5e64ee9b9b42e92fb84a615817fdffd7a8802 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix kms build with -qtnamespaceSérgio Martins2014-01-112-3/+5
| | | | | | Change-Id: I6aa3f3bc3c098b96ec0eec369b85a938c552f364 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Don't force create the platform window.Morten Johan Sørvig2014-01-101-5/+0
| | | | | | | | | | This causes all sorts of unintended side effects and is generally a bad idea. Task-number: QTBUG-32988 Change-Id: Iebdae34764be4cfd9ced47aa93789871e0455ab3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix bug on X11 with WA_TranslucentBackground and native child windows.Gatis Paeglis2014-01-101-1/+5
| | | | | | | | | | | | | | | | | | | | The native child windows need to inherit the parent's visual in order to have a translucent background as well. Surface with type QSurface::OpenGLSurface should not be forced to use the parent window's visual - the parent visual for instance, might not even be GL capable. Changing WA_TranslucentBackground during runtime is not supported, for two reasons: 1) Other platform plugins seem not to support it 2) It would require recreating X windows. Task-number: QTBUG-29625 Change-Id: Ic1474dd2de99069027481c7db6bf865f9b8d616d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Windows: Silence warning in QWindowsFileDialogHelper::selectFile().Friedemann Kleint2014-01-091-2/+2
| | | | | | | | | | 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>
* iOS: Use in-place string renaming to rename main() instead of ldTor Arne Vestbø2014-01-061-2/+2
| | | | | | | | | | | | | | | 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>
* XCB: Fix pixmap leakUli Schlachter2014-01-051-0/+2
| | | | | | | | | | | 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>
* Avoid duplicate emulated mouse events with XInput2Allan Sandfeld Jensen2014-01-031-0/+16
| | | | | | | | | | | | | 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>
* Cocoa: fix single punctuation input via CJK input methodLiang Qi2014-01-031-5/+0
| | | | | | | | | | | 2d05d3bd2815c220474b3c07bf3f2ef7417d3070 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>
* Android: Don't show ActionBar at startup.BogDan Vatra2014-01-021-1/+1
| | | | | | | Task-number: QTBUG-35151 Change-Id: Ie62e50032aaa647a86c4f03b1a3363e5ef6a1bbb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* xcb platform: Fix build when both EGL and xcb-Xlib are usedAndrew Knight2013-12-311-2/+6
| | | | | | | | 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>
* Windows platform plugin: Add missing case statementKurt Pattyn2013-12-301-0/+6
| | | | | | Change-Id: I9b9fc6cf000b262277711374e0a2fe119328849e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* linuxfb: Make mouse cursor behavior match eglfsLaszlo Agocs2013-12-301-0/+4
| | | | | | | | | | | | | 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>
* fix compile of qt without egl availableChristoph Cullmann2013-12-301-1/+1
| | | | | | | | 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>
* xcb: added env variables to show input devices and eventsShawn Rutledge2013-12-303-45/+56
| | | | | | | | | | 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>
* XCB: Don't recalculate the DPI if we have a forced DPI settingThiago Macieira2013-12-301-3/+3
| | | | | | | | | | | | | | | 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>
* cocoa: avoid sending windowNotification to a non-QNSViewShawn Rutledge2013-12-231-4/+5
| | | | | | | | | 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>
* iOS: Fix C++11 buildTor Arne Vestbø2013-12-211-1/+1
| | | | | Change-Id: Ib7dc8dcbeca7e85d97b8c7fb04d2cf42e5245298 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Prevent a crash when there is no accessible interfaceAndy Shaw2013-12-211-1/+4
| | | | | Change-Id: I058b76ff9d40b75eb51f9a6b1b89032ead629aed Reviewed-by: Liang Qi <liang.qi@digia.com>
* Fix warnings about forward declarations (-Wmismatched-tags)Sérgio Martins2013-12-202-3/+3
| | | | | | | These are structs in gbm.h. Change-Id: I448ddc072c3aa924672f802dca42b2183470519e Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Fixed another assert in qwindowskeymapperOliver Wolff2013-12-201-2/+5
| | | | | | | | | | 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>
* Fix writingSystems determination by code page range bitsKonstantin Ritt2013-12-192-6/+0
| | | | | | | | | | 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>
* Fix [Linux]/[Linuxfb] screen initialization.Daniel Giurcanu2013-12-182-2/+4
| | | | | | | | | | | | | 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>
* Fix static builds on Mac.Morten Johan Sørvig2013-12-189-60/+60
| | | | | | | | | | | | | 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>
* QNX: avoid composition when possibleMatt Hoosier2013-12-161-11/+20
| | | | | | | | | | | | | | | | | | | | | 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>
* iOS has native windows but not window managementShawn Rutledge2013-12-161-0/+2
| | | | | | | | 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>
* Correct debug bit setting with WGLLaszlo Agocs2013-12-131-6/+8
| | | | | | | | | 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>
* iOS: Fix failing assert in QUIView displayLayer()Tor Arne Vestbø2013-12-111-3/+4
| | | | | | | | | | | | | 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>
* Windows: Show context menu on mouse release.Friedemann Kleint2013-12-101-0/+2
| | | | | | | | | | 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>
* Disable the eglfs input handlers by Environment variableDominik Holland2013-12-102-1/+5
| | | | | | | | | | | 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>
* Windows: Fix corner case where frameless windows would cover the taskbar.Sérgio Martins2013-12-091-1/+2
| | | | | | | | | | | | | | | In commit 0c936ca83c40b73f30195a619900f2be98b9e968 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>
* Revert "Move the glxfbconfig configtest to qpa and rename it to glx"Thiago Macieira2013-12-071-1/+1
| | | | | | | | | | | | This reverts commit a2d3b7c99165cb5c4be6f0dd83a967e1119cf732. 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>
* Windows: Don't cover the taskbar when maximizing frameless windowsSérgio Martins2013-12-062-2/+29
| | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-0515-31/+91
|\ | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| * iOS: move infoPlistValue to qiosglobalRichard Moe Gustavsen2013-12-043-7/+8
| | | | | | | | | | Change-Id: If237f08683290105413dc47923e23a496765bb22 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * iOS: don't show statusbar if hidden from Info.plistRichard Moe Gustavsen2013-12-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * iOS: Handle statusbar changes to child windowsTor Arne Vestbø2013-12-043-6/+6
| | | | | | | | | | | | | | | | | | 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>
| * Revert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return ↵Morten Johan Sørvig2013-12-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | false" This reverts commit 2eb1e28a90eaf82f4405dc65584021f16415014b, 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>
| * iOS: fix assert when using QOffscreenSurfaceRichard Moe Gustavsen2013-12-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * iOS: Disable drag and drop completely instead of enabling simple d'n'dTor Arne Vestbø2013-12-041-0/+2
| | | | | | | | | | | | | | | | | | 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>
| * Improve expose event handling.Morten Johan Sørvig2013-12-043-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * iOS: fix crash when focusWindow changes while keyboard is openRichard Moe Gustavsen2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * iOS: fix crash when application quitsRichard Moe Gustavsen2013-12-041-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * iOS: fix application hangs when opening keyboardRichard Moe Gustavsen2013-12-031-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Cocoa: Mouse enter events on window activation.Christoph Schleifenbaum2013-12-033-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | iOS: Apply default geometry to platform window if not set on QWindowTor Arne Vestbø2013-12-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>