summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
...
| * Allow compilation with clang-cl disguised as clJürgen Hunold2018-03-281-1/+1
| | | | | | | | | | | | Task-number: QTBUG-63512 Change-Id: I7e0c4e144262a175c39508090c935c73186fac65 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Move delivery of update requests into QPlatformWindowTor Arne Vestbø2018-03-292-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Having deliverUpdateRequest in QWindowPrivate was a bit awkward and asymmetric to the QPlatformWindow::requestUpdate() API. Keeping them together follows the existing pattern of plumbing things through the platform window, and also allows us to move away from platform plugins relying on QWindowPrivate implementation details. Change-Id: Ib131ccdd1c2bdd6ff1c8d95facbc3f6f88a1abcf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-03-2810-452/+557
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-03-2810-452/+557
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_mouse.mm src/testlib/testlib.pro Change-Id: Ia0ce4243418fe6a485b0f290c67bd433b3b04ff2
| | * QMacStyle: Fix spinbox implicit heightGabriel de Dietrich2018-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | We don't need to accommodate for the fake frame anymore. Change-Id: I2d84441d4239e1ff68f640dffda1a0d1a97fa2b3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Fix text color for disabled default buttonsGabriel de Dietrich2018-03-271-4/+5
| | | | | | | | | | | | | | | Change-Id: I7c6ba0c3818a3e269e0350153cbde355bafd249a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Remove CT_ToolButton related dead codeGabriel de Dietrich2018-03-271-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | sizeFromContents() just adds 10 points to the tool button size and returns. Therefore, the HITheme code that used to be shared with CT_PushButton becomes effectively dead. Change-Id: Ib0519b0037ec3097a00e2c14067d851040853499 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: SE_PushButtonContents is HITheme-freeGabriel de Dietrich2018-03-272-131/+42
| | | | | | | | | | | | | | | | | | | | | | | | This also removes a few HITheme-related functions that are no longer needed. Change-Id: I356938d1e99f5fed106c945a94050fa35db58716 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Do manual button sizing for CT_PushButtonGabriel de Dietrich2018-03-271-40/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | We guarantee the same sizes as previously with HITheme for most common cases. Exotic cases may break and will be fixed along the way. Change-Id: I3e3e6ea702c7489c1cbaa821a30916f63c440c1f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * sqlite: Support using execBatch() with duplicated named placeholdersAndy Shaw2018-03-271-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also expands the tst_qsqlquery::batchExec() test to account for this case and generally test the functionality. In addition it is made to be more robust to avoid any discrepencies with the testing data. The test in general is also cleaned up to enable more of it being tested with the different database drivers where possible. An expected fail is added for MySQL due to the fact that it has a bug where null timestamp entries are being converted to the current datetime when adding it as a bind value. Change-Id: I0061bd1c69ae35b4858afc49420f13ce59cf48ae Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * QSqlResult: use QVector<int> instead QList<int> for indexes valueChristian Ehrlicher2018-03-231-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | Minor tweak: QList<int> is taking 64bit per entry, QVector<int> only 32bit - this should reduce memory usage a little bit. Change-Id: I3e17269feb4840343f5cecfc71f8fccd70edc80f Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * QMacStyle: Don't highlight square buttons text when pressedGabriel de Dietrich2018-03-221-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Native square buttons keep their text black when pressed or on. Plus using the QStyleOptionButton variable over the QStyleOption one where appropriate. Change-Id: Idba8197e64d408e8a0987f1ef9243fde08e3e839 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Refactor button sizingGabriel de Dietrich2018-03-222-44/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We prepare for a better world without HITheme. Sadly, we can't guarantee Cocoa will be good enough as a replacement. So, expect more hardcoded values and margins. Change-Id: I915906b5dbfbfbfc8c7f5c3224fc0ed98562bb9f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Make CE_PushButtonBevel square if large enoughGabriel de Dietrich2018-03-222-37/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meaning, if larger than the size of a regular NSButton. No intermediate size square buttons anymore. We'll try to get the closest one later, once the sizing problem is solved. We also refactor the button creation code a bit. Change-Id: I965520469546aea596cd1abec2309b40d70399ce Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: No more HITheme for CC_ToolButtonGabriel de Dietrich2018-03-222-73/+38
| | | | | | | | | | | | | | | | | | | | | | | | As for CE_PushButtonBevel, sizing is still pending. These two seem to go together anyway. Change-Id: I631c3f32ba201b16adbfa264a2920bfb636fb86f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: No more HITheme for CE_PushButtonBevelGabriel de Dietrich2018-03-222-112/+156
| | | | | | | | | | | | | | | | | | | | | | | | For rendering only. Sizing is still pending and, consequently, square buttons since these depend on the button's intrinsic size. Change-Id: Iacadc02a1a75970b221543b32ca724c92e118ce1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Make CocoaControl a full typeGabriel de Dietrich2018-03-222-50/+80
| | | | | | | | | | | | | | | | | | | | | And one small code clean-up. Change-Id: I57c71ce2e18c95529ee45ba4fdfc68e21209e384 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * Add env variable to set QNX screen debugging informationPasi Petäjäjärvi2018-03-221-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables different QNX Screen graphics system information as overlay. Following are valid options for the env variable: * fps, posts, blits, updates, cpu_time, gpu_time, statistics More info: http://www.qnx.com/developers/docs/7.0.0/index.html#com.qnx.doc.screen/topic/group__screen__debugging_1Screen_Debug_Graph_Types.html Change-Id: I8cbee44de31bb2aaf3892a063769f4740027242b Reviewed-by: Adam Treat <adam.treat@qt.io> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
| | * Support GLX_NV_robustness_video_memory_purge in XCB-GLXDavid Edmundson2018-03-222-8/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nvidia doesn't handle suspend very well in Linux and textures get corrupted. To handle this Nvidia has a bespoke extension to query when this has happened. This patch checks if graphics have been reset and invalidates the surface. Task-number: QTBUG-56610 Change-Id: I0b97d539ce6cc2b9cfe41c71bf6efd4f68496cd6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * offscreen: Check that native interface is valid before using itAndy Shaw2018-03-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the offscreen platform plugin is used on Windows then it can end up crashing since there is no native interface. This prevents a crash from occurring when these functions are called. Change-Id: I526fc0703771fa5f85b26d182ad3b15ef1a3ada5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Fix crash when deleting a QSqlQueryModel after closing the databaseMarcel Krems2018-03-211-2/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-66553 Change-Id: Ib5c04ebe5ac2b7581613e0044804072eb0980b2e Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * macOS: Handle NaN mouse event positionsNathan Collins2018-03-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When performing gestures such as Exposé or Mission Control with the mouse button down, the position of the mouse release event is returned with NaN values. This causes QGuiApplicationPrivate::processMouseEvent to be called recursively and ultimately crash. Task-number: QTBUG-67194 Change-Id: If1536bc4dc2075c498cdd6c5afe57c86bdaac13b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Cocoa: Restore resizable window mask setting to 5.9 behaviorMorten Johan Sørvig2018-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should be tied to the CustomizeWindowHint flag: if that flag is set we start out without NSResizableWindowMask and possibly add it later on if WindowMaximizeButtonHint is set. Change-Id: I7e826d4bd357a8a17c60cfef948af25d61b66ebf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Windows QPA: Refactor the tablet codeFriedemann Kleint2018-03-282-26/+24
|/ / | | | | | | | | | | | | | | | | | | - Port to C++ 11: - Use member initialization for QWindowsTabletDeviceData - Use nullptr - Fix the debug operator for QWindowsTabletDeviceData Change-Id: I6ed1141d7064a4ea2717d36ec0bb2dceea857d46 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | cups: Honor installable options for DuplexAlbert Astals Cid2018-03-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | i.e. don't show the duplex options if you don't have the duplexer hardware installed, otherwise you just get a conflict warning selecting any duplex option which doesn't make any sense since it's not something you can fix by other means than going out and buying the missing hardware Change-Id: Ief3fea5b86ab65b18765887b1c5d6d279ee337fa Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Cocoa: Deliver window activation events synchronouslyMorten Johan Sørvig2018-03-261-2/+2
| | | | | | | | | | | | | | | | | | This prevents delivering queued activation events to windows that have been hidden or destroyed. Task-number: QTBUG-66536 Change-Id: I4edf86b6c8592751130f836876725c786452933c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Update READMEs for the bundled xcb sources and the xcb pluginAlexander Volkov2018-03-231-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | Mention that the current minimal supported version of libxcb is 1.9.1, amend 1f5d791708d5d256a76872f254251dac66e82cdb. Remove the specific package requirements for the xcb plugin: these lists are unmaintained and besides there are build instructions in wiki: https://wiki.qt.io/Building_Qt_5_from_Git Change-Id: I4d5b0583a1ba8a355ee1649022845f6c8d520e7c Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Remove unused QPpdPrintDevice constructorAlbert Astals Cid2018-03-232-8/+0
| | | | | | | | | | Change-Id: I19a6cddebfbd1b72f01feae8873a634348cdc926 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | xcb: Use XCB instead of Xlib for XInputAlexander Volkov2018-03-229-427/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replace xinput2 feature by xcb-xinput, which doesn't depend on xcb-xlib - Remove xi2PrepareXIGenericDeviceEvent() that was used to fix incompatibilty between XCB and libXi structs - Drop XCB_USE_XINPUT21 and XCB_USE_XINPUT22 defines that were needed with libXi Although xcb-xinput was released in version 1.13 of libxcb, it was quite stable in version 1.12, and the parts that we use did not change between versions, so require system xcb-xinput 1.12. [ChangeLog][X11] The xcb plugin was ported to use libxcb-xinput instead of libXi for XInput2 support. The -xinput2 configure option was replaced by -xcb-xinput. Task-number: QTBUG-39624 Change-Id: I37475b09b2bd7057763345c3f33d8c7751a4e831 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Cocoa: Remove m_viewIsEmbedded and m_ViewIsToBeEmbeddedMorten Johan Sørvig2018-03-214-30/+31
| | | | | | | | | | | | | | | | | | | | | | | | Implement QCocoaWindow::isEmbedded() which detects this property based on parent view and window type. This avoids having to use a setter function to set the state. The detection can’t handle all cases, but should be sufficient for our use case. Change-Id: I12a5b90b4e4a7e10714f7275ae001e99c9361e2c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-216-14/+13
|\| | | | | | | Change-Id: I35a6555e3885e489f88aa9b4b0142e1017f7a959
| * Fix subpixel rendering on Windows/FreeTypeSergio Martins2018-03-201-4/+0
| | | | | | | | | | | | | | | | | | | | FT_LCD_FILTER_H wasn't defined because we weren't including the header. To fix it just remove the checks, as was done for Linux and assume sub-pixel is there. If it's not then no harm done, it won't use any. Change-Id: I76f50cb17e41621c45c03cb7d5c75c110557ea68 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Modernize the "regularexpression" featureUlf Hermann2018-03-203-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Use QT_CONFIG(regularexpression), disentangle it from QT_BOOTSTRAPPED, switch it off in the bootstrap build, remove the #ifdefs from qregularexpression.{h|cpp}, and add QT_REQUIRE_CONFIG(regularexpression) to the header. qregularexpression.{h|cpp} are already correctly excluded in tools.pri if !qtConfig(regularexpression). Change-Id: I21de154a6a118b76f99003d3acb72ac1e220d302 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix display recognition for IBUSLars Knoll2018-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | The parsing of the DISPLAY environment variable was wrong, and only worked by accident for DISPLAY=':[0-9]'. Task-number: QTBUG-62068 Change-Id: I6860e3907c9b1ad6e538d1b5d08628cd306b4aa1 Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Windows QPA: Fix potential crash in leave event handlingFriedemann Kleint2018-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | Add a check for window != nullptr. Amends af5c8d04fb0c9ddda58925e4862e857c78a5e563. Task-number: QTBUG-67101 Task-number: QTBUG-57864 Change-Id: I2bbbbe514fc494fd569d0932d508c53c0544f665 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * sqlite: Prevent a crash when sqlite does not detect any parametersAndy Shaw2018-03-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | When using a virtual table inside a SQLite database it is possible that it does not report the right number of parameters. Therefore we need to account for this case to prevent it from crashing when trying to bind parameters it thinks does not exist. Task-number: QTBUG-66816 Change-Id: I3ff70bb1fe73091f43c3df53616f75858e451cfd Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | macOS: Make [QNSView wantsLayer] declarativeTor Arne Vestbø2018-03-212-3/+12
| | | | | | | | | | Change-Id: Ib5dc8178293d13542a54d51484181debd57580f5 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Add xcb-xinput to 3rd party libsAlexander Volkov2018-03-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added xcb-xinput code was produced by build of libxcb 1.13 with xcb-proto 1.13. The following parts were removed from it: - Pointer Barriers API (requires xcb-xfixes 1.9 with xcb-proto 1.9) - SendExtensionEvent API (requires definition of xcb_raw_generic_event_t from libxcb 1.13) [ChangeLog][Third-Party Code] Sources of xcb-xinput 1.13 were bundled and are available via -qt-xcb. Change-Id: I43d2f43bee0ba874d099c9fb858e74b0e3edc970 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | macOS: Provide helper property for resolving the display ID of a screenTor Arne Vestbø2018-03-203-3/+15
| | | | | | | | | | Change-Id: I144bd33a2c122d53ea1435a53483a3d8b46fd093 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | macOS: Remove stray qDebug in [QNSView setNeedsDisplayInRect:]Tor Arne Vestbø2018-03-201-1/+0
| | | | | | | | | | Change-Id: Ia253edf84bc0c890f291499ed2635d8287b18327 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | macOS: Do layer updates via the CALayerDelegate protocolTor Arne Vestbø2018-03-202-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The updateLayer function is only called when the layer is a _NSViewBackingLayer instance, which is what the default implementation of [NSView makeBackingLayer] returns. Once we move to optionally returning a CAMetalLayer, we need to use the more generic displayLayer: API, so we do that now as a first step. This matches the way we draw and send expose events on iOS. Change-Id: I49721ff005ca9dfddebff645705f96b5ab46abb4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | macOS: Move QNSView drawing related functionality to its own fileTor Arne Vestbø2018-03-203-117/+172
| | | | | | | | | | Change-Id: Iaeaa5c57368445a1fd67d110823c919aa7173a7a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Cocoa: Fix crash in currentModalSession()Morten Johan Sørvig2018-03-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add null-pointer checks to QCocoaEventDispatcher:: currentModalSession(): - window->handle() may return nullptr if the window has been destroyed. - We call beginModalSessionForWindow, which processes events. This can potentially destroy or delete the current window; pointers to it must be checked again. This also has the effect that currentModalSessionCached is not set to a session that does not have a window, also prevents clearing the cleanupModalSessionsNeeded flag for such sessions. Task-number: QTBUG-66536 Change-Id: Ie055933c872a8ede3c938882fb2d4f7cf8ff3c81 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | eglfs/kms: Share drm connector id with nativeRes.ForScreenLionel CHAZALLON2018-03-181-0/+2
| | | | | | | | | | | | | | | | This allows to share the connector id for external applications and drm layers embedding. Change-Id: I87d4c257c8d8600665eb2328f8b44df3f1ac3c0a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | QImage/Jpeg: decode/encode comment attributes as utf-8Christian Ehrlicher2018-03-181-3/+3
| | | | | | | | | | | | | | | | | | | | Although not defined, the jpeg comment field 'content' is treated as utf-8 nowadys. At least exiftool and exiv2 (tested via gwenview) are expecting utf-8 here. So we should do the same. Task-number: QTBUG-44709 Change-Id: If84dafac3e337c7993f09cd59792e721977c9adb Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-182-11/+36
|\| | | | | | | Change-Id: Icf3b9346117ce7149d8687e4cfa182e7586713f3
| * Windows QPA: Improve tablet mode detectionFriedemann Kleint2018-03-172-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the code to detect mouse mode only the first packet after receiving the enter proximity event, using the current tablet position. This should prevent mis-detecting mouse mode due to lags, etc. There is a theoretical chance of failing to detect mouse mode should the positions match resulting in differing speeds of mouse/tablet positions, but this seems to be a negligible risk. Task-number: QTBUG-36937 Task-number: QTBUG-64781 Change-Id: I27ca4a17786164dc8b25c4614a88672e150d5fe3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Thiago Macieira2018-03-171-3/+3
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-03-171-3/+3
| |\| | | | | | | | | | Change-Id: Id3e318f276fc56b5105561a1904cc242b663e9e4
| | * QGtk3Menu::showPopup(): fix target item selectionJ-P Nurmi2018-03-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a target item was passed, QGtk3Menu tried using gtk_menu_set_active() to select the target item. However, the function does not do what you'd imagine. Even the documentation states: This is used by the GtkComboBox and should not be used by anyone else. The correct function, gtk_menu_shell_select_item(), is in the GtkMenuShell "base class". Change-Id: Ia2c03f87bb97f618c041c03011af8c676108aea5 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>