summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Cocoa: Allow to hide menu items in menubarGabriel de Dietrich2013-08-133-8/+15
| | | | | | | Task-number: QTBUG-32899 Change-Id: I423ac2d636306303d39e973f19032c9004957095 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix QDialog position shift bug after resize.Balazs Domjan2013-08-131-0/+3
| | | | | | | | | | On Linux (XCB), resizing a dialog shifts its position. The fix corrigates the geometry of the dialog to the right values. Task-number: QTBUG-32473 Change-Id: I6d38539a3ebc3b95eacc7f13a76f83fc9e4d821c Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Do not use QWindowsFileDialogHelper for Windows Server 2003Jonathan Liu2013-08-111-1/+1
| | | | | | | | | Windows Server 2003 is based on Windows XP and should use QWindowsXpFileDialogHelper as it does not support the CLSID-based IFileDialog interfaces that are available from Windows Vista onwards. Change-Id: Idd973f9ec4c98d1f2fb7e835de64532edeccfc72 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Merge "Merge branch 'release' into stable" into refs/staging/stableSergio Ahumada2013-08-097-27/+63
|\
| * Merge branch 'release' into stableSergio Ahumada2013-08-097-27/+63
| |\ | | | | | | | | | Change-Id: I5e94c4f01564df633c9925561ebb0b553bd31a2e
| | * Don't release the printer after using it to change a propertyAndy Shaw2013-08-081-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The printer should not be released after changing a property on it as it is still needed by QPrinter elsewhere. It is released as appropriate automatically already. Task-number: QTBUG-32831 Change-Id: Idb2d98b25b62f343015a0a0fb3c9a0d506546132 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * Fix handling of non-latin1 shortcutsGatis Paeglis2013-07-312-22/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables non-latin1 shortcut handling on Qt5/X11. Task-number: QTBUG-32274 Change-Id: Ia084258b956128ffade8eddfbcb18af334d79a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Windows: Clear window under mouse in destruction of platform window.Friedemann Kleint2013-07-304-1/+11
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-32042 Change-Id: I8aa5df84b7ca6deb47e0c3eff9a6a7d2c4793553 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Return EGLNativeWindowType instead of window number in winId()Alexey Chernov2013-08-092-5/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEglFSWindow::winId() method was changed to return EGLNativeWindowType EGL window handle instead of static window number as it recommends in documentation. QPlatformWindow documentation reads: "The platform specific window handle can be retrieved by the winId function." and also for winId() method itself: "Reimplement in subclasses to return a handle to the native window". Task-number: QTBUG-32564 Change-Id: I634c5b4d966b6aebde72518a2c39717d1b39af08 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | [Mac] Fix modifier reporting issue in the key eventsGatis Paeglis2013-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | This issue was introduced when porting key handling code from Qt4 to Qt5. To conform to the implementation of QKeyEvent::modifiers() we have to invert modifier state logic before sending them as QKeyEvents. Task-number: QTBUG-31332 Change-Id: I3bb41169f8ab2a4b0a13a224bb461d2792d3a65f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | OSX: do not force a plain window to be on the same level as its parentShawn Rutledge2013-08-021-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | 2af0a778f464980594c36098e4a8ba4448edfd29 the fix for QTBUG-27410 caused this Designer bug. Doing the automatic level escalation only for "special" windows and avoiding it for plain Qt::Window type windows is one way of fixing the Designer problem. Task-number: QTBUG-31779 Change-Id: I1da5454f31111f36480fac3b53be6d5f0ce40047 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Fix stuck modifier issue in the non-xcb_xkb code pathGatis Paeglis2013-08-021-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since updating the xkb_state throght core events is more tricky (opposed to the xcb-xkb code path) where we have to use xkb_state_update_key, we need to make sure that our local state is in sync with the X server's state. The local state was getting out of sync if key was pressed down in a Qt application and released in other X client (by changing the focus to another window with a mouse, for example). Task-number: QTBUG-32660 Change-Id: I662bf5aad3ab0e8591109994e746d85ff61ad6ef Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix build with QT_NO_CURSOR.Sérgio Martins2013-07-311-17/+19
| | | | | | | | | | | | | | Just moved applyCursor() and defaultCursor() to a #ifndef block. Change-Id: I14c21aa509395fb1bd72d389cfc46f0f34ab7649 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Don't run this code on WinCE, the variable will be unused.Sérgio Martins2013-07-311-1/+1
| | | | | | | | | | Change-Id: Id472e6e18759227943a24aa723963671bdb52164 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | eglfs: allow egl native window to be zeroSamuli Piippo2013-07-312-4/+7
| | | | | | | | | | | | | | | | | | Change the checking for created EGLNativeWindowType so that zero is a valid value. This is the case e.g, with BeagleBoard, where widget application cannot be run without this change. Change-Id: I36c30091e1a5a0598ae3822d0be8dc4362779c0b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | eglfs: Fix updates when resizing backing storeEskil Abrahamsen Blomfeldt2013-07-311-1/+3
| | | | | | | | | | | | | | | | | | | | We would resize the backing store without resizing the viewport, which would cause all subsequent blits of the backing store to the screen to look broken. Task-number: QTBUG-32146 Change-Id: I65bae051b7cfbbc61fc285e4baa74685d5639569 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | xcb: mouse wheel does not focus a windowShawn Rutledge2013-07-311-2/+3
| | | | | | | | | | | | | | | | | | The window should react to the wheel event (e.g. scroll content) but without becoming focused; this is the X11 convention. Task-number: QTBUG-32517 Change-Id: I7e12425e5a6e1549b7f23dc318612a436c24d14b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Cocoa: Make sure that resizeEvent is invoked after calling resizeNils Jeisecke2013-07-301-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QWindow::resizeEvent documentation states that resizeEvent is invoked after the windowing system has acknowledged a setGeometry() or resize() request. The Cocoa plugin however did set the platform window geometry immediately so that the qnsview's updateGeometry returned too early. Task-number: QTBUG-32706 Change-Id: I1f359ab368833d174ab6740f4467b0848c290f13 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Add workaround for GL on Android emulatorEskil Abrahamsen Blomfeldt2013-07-292-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | On the Android Emulator, the shaders will be compiled by a desktop GL driver, since the GL driver in the emulator is just a thin wrapper. The GL driver does not necessarily support the precision qualifiers, which can cause applications to break. We detect this at runtime in the platform plugin and set a workaround flag to Task-number: QTBUG-32557 Change-Id: Ied00cfe8e804d1f7862697dd379a14f3bed3d980 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Build offscreen plugin only if freetype is available on Windows.Friedemann Kleint2013-07-291-1/+3
| | | | | | | | | | | | | | | | Task-number: QTBUG-29685 Change-Id: I0d80437d07ad7f9e11343bfa7afbdeb30583f8c5 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | EGLFS and MinimalEGL windows are not marked as OpenGL surfacesAllan Sandfeld Jensen2013-07-264-5/+2
| | | | | | | | | | | | | | | | | | Several QOpenGLContext methods fails incorrectly on QWindows from EGL or MinimalEGL. This is happens because they are incorrectly marked as raster surfaces instead of OpenGL surfaces. Change-Id: Ic9b3859915a9049fce442216b01dce89521fa5ee Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | xcb: Fix minor leaks in XSettings codeUli Schlachter2013-07-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | If some of the X11 requests fail, QXcbXSettings::QXcbXSettings() prints a warning and returns. These error paths all caused memory leaks. Change-Id: Idfecf03dd412c35552c3bbbebdda9c039aeadc13 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Windows: Mark window margins as dirty when the theme changes.Friedemann Kleint2013-07-241-1/+6
|/ | | | | | | Task-number: QTBUG-31523 Change-Id: Ibd8ed4e3fc5b6d1723f94dc32b3bf86b74e71020 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* xcb: Don't use Xlib's XBell() functionUli Schlachter2013-07-221-6/+3
| | | | | | | | | | XBell() just sends a Bell request to the X11 server. This can be done equally well (and with less ifdefs) through xcb's xcb_bell(). Change-Id: If41d955aa97acfe9e0a8b9fce05c11ebc146ce8e Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Prevent activation of windows with Qt::WindowDoesNotAcceptFocus.Friedemann Kleint2013-07-221-1/+2
| | | | | | Task-number: QTBUG-32385 Change-Id: I307e2a3e5157b351663940d5d02fc16b3127b5dd Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* XCB: Set WM_CLASS.Friedemann Kleint2013-07-185-0/+57
| | | | | | | | | | Set the instance name and class name of the application windows. Task-number: QTBUG-29396 Change-Id: Ia1fb492ab169108c3779deb8964bb731b322dd89 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Better errorhandling for the fontengine on WINCE.Bjoern Breitmeyer2013-07-181-5/+4
| | | | | | | | | | | | | | | The CE fontengine only supports translations, scaled Text would only work if its an isometric scale and would require to create a new font from the old one. Rotations and more aren't supported at all. The freetype fontengine for CE supports this, so we give a warning that the font might be rendered incorrect, but could render correct with the freetype engine. Task-number: QTBUG-32189 Change-Id: I3581c3fef8e4ee118c0038a6ccc237e66b583731 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QNX: Handle Qt::WindowDoesNotAcceptFocus correctly.Friedemann Kleint2013-07-171-1/+1
| | | | | | | | | | Discovered while working on: Task-number: QTBUG-32385 Change-Id: Id1ff31ea6a367983676125810b4f49629233d374 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* OSX: Disable window restoration for the Mac font panelLiang Qi2013-07-171-0/+5
| | | | | | | | | | | because if it is automatically restored it's out of the application's control, so the user's interaction will be ignored. Change I8ce3cd94f5ae81d7877a346743ca4e0e188baa02 did this for normal windows by default, but the dialog helpers generate windows which aren't affected by that. Change-Id: I819d7ab4e51e90783d55cee0676dbc33b38c5b00 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Windows: Synthesize expose event for shrinking windows.Friedemann Kleint2013-07-152-13/+25
| | | | | | | | | | Synthesize expose events for all Windows except ANGLE-windows. Task-number: QTBUG-32121 Change-Id: Ifbff2730ec8f2e8cfe23eeb4022b76a6e432598e Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* XCB: Append 0-character to atom name string.Friedemann Kleint2013-07-121-1/+1
| | | | | | | | The below loop needs 2 consecutive 0-characters to terminate properly. Change-Id: I73e56cadbcd2515d5b0f1b4907316a27a6bbaf0e Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* DirectFB: Improve mapping of multimedia keysAllan Sandfeld Jensen2013-07-121-1/+3
| | | | | | | | | | | | The play_pause key was mapped incorrectly to direct pause. This one maps it to togglePlayPause. The two keys fast-forward and rewind have been mapped to Key_AudioForward and Key_AudioRewind, matching XCB and Android mappings. Change-Id: I481bafab2fdfe1824b49e268e9d0754eef348cbf Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Windows font database: Resolve aliases for extra fonts.Friedemann Kleint2013-07-111-3/+6
| | | | | | | | | Ensure QFontDataBase::hasFamily() deals with aliases. Task-number: QTBUG-31689 Change-Id: Ia59bfcb93362ac9343c6d30dab1091a4db482dfa Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Bugfix QDesktopServices on WindowsThiago Macieira2013-07-111-9/+9
| | | | | | | | | It was doing tricks with URLs that it shouldn't be doing... including running QDir::toNativeSeparators on a URL. Task-number: QTBUG-32311 Change-Id: I5b6f640919956998c00dcf507f931045f21a9e53 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Resolve modifier mask conflicts on X11Gatis Paeglis2013-07-072-1/+37
| | | | | | | | | | | On X11 key codes and modifiers can have many-to-many relationship, i.e. a key can activate several modifiers, and a modifier may be activated by several keys. This patch handles these cases, the logic is borrowed from Qt4. Task-number: QTBUG-31572 Change-Id: Ide4eb890ec723c68afafe0576d8285440a47d7b0 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Make sure we're deleting framebuffers in the right contextTor Arne Vestbø2013-07-051-0/+3
| | | | | | | | | | | | | When a QWindow was destroyed, we'd delete its corresponding buffers, but failed to make the correct EAGLContext current first. This would result in deleting/invalidating buffers for another window (whatever window's context was current at the time), and that window would then seemingly stop rendering anything, and turn black on rotation. Task-number: QTBUG-32246 Change-Id: I335a8c580203fc01e43da31c5cb6f567614c26fc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix crash caused by ~QWindowsWindow flushing the event queue.Friedemann Kleint2013-07-041-1/+0
| | | | | | | | | | | | Remove call to QWindowSystemInterface::flushWindowSystemEvents() introduced by 153d613353863987322db81f3c31e33541ef7226 . Task-number: QTBUG-32125 Change-Id: I14aa2772848e04b47deff6218b48eaf69f0bb649 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Show native file dialog on Windows XP Professional x64 Edition.Friedemann Kleint2013-07-041-2/+2
| | | | | | | | | | It claims to be WV_5_2 (WV_2003). Task-number: QTBUG-32217 Change-Id: I0c277410acc9ac29710a3eee63bec9ced42e2767 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove qWarning() in qt_mac_image_to_cgimage()Ivan Komissarov2013-07-031-4/+1
| | | | | | | Change-Id: I839aa44735910012bf57daa9c8b55c5e6def3cd2 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Cocoa: fix shared color panel usageJ-P Nurmi2013-07-032-122/+144
| | | | | | Task-number: QTBUG-31819 Change-Id: I60162f4c4af8aaae02ba7be11b2793ad29c5e2b5 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Do not call QAccessible::child() with a negative index.Jan Arve Saether2013-07-021-9/+4
| | | | | | | | | | Fix assert on Windows: QFATAL : tst_QAbstractItemView::testChangeEditorState(): ASSERT: "index_ >= 0" in file itemviews.cpp, line 1123 Change-Id: I4f19c68bbe00d9c75768e7125cf3b33bc09a09e5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Windows: Fix detection of synthesized mouse events for MSVC / 64bit.Friedemann Kleint2013-07-021-2/+7
| | | | | | | | | For some reason, the enumeration values were signed when using 64bit. Task-number: QTBUG-31386 Change-Id: I891dbe1a82dc2aefbe13a131c72c01a57f981767 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Avoid warnings when fetching file icons without a CGContextRefGabriel de Dietrich2013-07-021-1/+2
| | | | | | | | | | | | This can happen when instantiating a QFileIconProvider and no suitable graphics context is available (e.g., when only using a QQuickView). The proper, longer (5.2) term solution would be to have the platform theme return a QIcon with a NSImage icon provider. Task-number: QTBUG-31908 Change-Id: Ibfdb51e0a7dd2c33761a463f4eb6619f0aca19f0 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Cocoa: Re-establish platform menu QObject hierarchyGabriel de Dietrich2013-07-021-0/+2
| | | | | | | | This amends commit 119882714f87ffeb6945fdb2d02997ae125ff50c. Change-Id: Ifb105596af5b00b04344cb665b3e68292c9187ae Reviewed-by: Romain Perier <romain.perier@gmail.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Windows: Fix the code of the native color dialog.Friedemann Kleint2013-07-021-2/+4
| | | | | | | | | Note: The code is currently #ifdefed out, it is just there to be able to compare QColorDialog to the native dialog. Task-number: QTBUG-32054 Change-Id: I042f6701d1a076480cae56c53ae2d3ad303d37d1 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Windows: Fix bug where windows stopped painting after a restore.Sérgio Martins2013-07-021-1/+14
| | | | | | | | | | | | | | Usually, a window get un-exposed when minimized, and exposed after the first WM_Paint event when restored. With layered windows (translucent+frameless) we never receive a WM_Paint, so lets send the expose event when the window is restired. Task-number: QTBUG-17548 Change-Id: Ib56d8abd91b15f9238d223fe692b19a3d2c930b7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Cocoa: Let Cocoa pick the right pixmap for menu item iconsGabriel de Dietrich2013-07-013-1/+21
| | | | | | | | | Task-number: QTBUG-31477 Change-Id: Iac2d13b68d36c691b60685b69cd390958c35fae3 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Cocoa: Simplify qt_mac_cgimage_to_nsimage codeGabriel de Dietrich2013-07-011-10/+1
| | | | | | | | Since 10.6, NSImage has a sensible contructor for that. Change-Id: Ie753135ebb37630c1a70c395689bf85d4a4a01de Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-283-1/+17
|\ | | | | | | Change-Id: I53112e20a65b7d706755b4a22622979f3b91a2c2
| * QNX: Fix screen rotationRafael Roquetto2013-06-262-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The behavior introduced by qtdeclarative's 475d1ed4f6a2 mandates that an expose event follows a geometry change event. The fix for this uncovered a bug on the raster backing store which caused the rotation to break on QtWidgets. The problem was rooted on the assumption that the QQnxRasterBackingStore::flush() method was only called after paints to the backing store surface, which was discovered to be a false assumption. Flushing the backing store can occur in other circunstances, which are out of scope on the context of the QNX plugin. Task-number: QTBUG-31329 Task-number: QTBUG-31934 Change-Id: Icfc3e85324f5a8745f6b5f189f27f8b763f770c7 (cherry picked from commit 0343b926608a4014ef386b3b21be9a0940d9f8e8) Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Vladimir Minenko <vminenko@rim.com>