summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* xcb: re-factor QXcbKeyboard::updateKeymap() to remove various fallbacksGatis Paeglis2018-02-245-214/+71
| | | | | | | | | | | | | | | | | | | | | 3edcd9420e3ad661cad89420e18dbb70e7ad450b added more robust support for keyboard input on XKeyboard-less X servers. The various fallbacks that we had did not work that well in practice. We can remove them now. The xkb_keymap_new_from_names() function relies on reading XKB config files from a file system. Since we don't use this function anymore, we can also simplify xkb context creation (see XKB_CONTEXT_NO_DEFAULT_INCLUDES), as we don't care about DFLT_XKB_CONFIG_ROOT (which we previously set via -xkb-config-root for the bundled libxkbcommon). This patch also changes the code to use smart pointers for managing the global xkb context, keymap and state. [ChangeLog][X11] The -xkb-config-root command line switch has been removed as it it no longer needed when configuring with -qt-xkbcommon-x11. Change-Id: I80eecf83adae90af5cd20df434c1fba0358a12fd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* xcb: remove xlib dependency from core keymap assemblingGatis Paeglis2018-02-244-24/+238
| | | | | | | | | | | | | | | Remove the Xlib dependency by extracting XConvertCase from libxkbcommon sources (xkbcommon/src/keysym.c). libxkbcommon >= 0.8.0 exposes case conversion APIs, but we should prefer using the slightly adjusted version (see the patch for more details). This change also is necessary for follow-up cleanups. Change-Id: Icf1716e0ad26f46a7aefb23722cfc57957754d5e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reapply 1514b4e85336245ef130deca5839267dba7b2e32 on 5.11Liang Qi2018-02-231-1/+2
| | | | | | | | | | | This change amends 305dd1b61f657474d751cc3b24f58249ec21b61b, which lost 1514b4e8 and brought src/corelib/json/qjsonarray.cpp back, which got removed in c9c9adeef943d8265b2dae57ff48992c23b6725a. In a6b697ca13945a174cff9f3e9b1af1cf61c0bea5, it was moved to src/corelib/serialization/qjsonarray.cpp in 5.11. Change-Id: Ic6134a78d75a9c245934cf70a67a54c80a3e7c85 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Reapply 403343039d07812c0beee9260b291f86e14d8ac4 on 5.11Liang Qi2018-02-232-1967/+2
| | | | | | | | | | | This change amends 305dd1b61f657474d751cc3b24f58249ec21b61b, which lost 40334303 and brought src/corelib/xml/qxmlstream_p.h back. In a6b697ca13945a174cff9f3e9b1af1cf61c0bea5, it was moved to src/corelib/serialization/qxmlstream_p.h in 5.11. Change-Id: Ia1e9841b866ff49f7274b1b13fd224c0a20a017e Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: improve QPlatformIntegration::possibleKeys() documentationGatis Paeglis2018-02-221-4/+5
| | | | | | | | | | | | | - There is no need to mention qkeymapper, which is an internal implementation detail. - Describe the encoding of int. - Add a note that calling possibleKeys() outside key event handler context is not valid. Change-Id: Ife9b7d1496f04b5a433ed2d56f29c4f01f174441 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* xcb: remove fragile and unnecessary missing-latin-keymap workaroundGatis Paeglis2018-02-224-49/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... which was trying to fix a rarely occurring situation where system settings from a desktop environment does not set any latin keymap on X. This is a DE bug and it has a simple workaround (details in the patch). Ubuntu has fixed this issue sometime between 12.10 -> 14.04. Gnome 3 always appends 'us' layout, even if you have only e.g. 'gr' listed in keyboard layouts (can be checked via setxkbmap -query). In KDE, the global system shorcuts seem to stop working as soon as latin keymap is not the first in the list, which means that KDE users won't be affected as they will likely always have a latin keymap present in the list. This patch removes parts of 2b666d9576210aa98700e219dba6b1bd4f93d793, the parts that in the commit message I was referring to by this quote: "lookupLatinKeysym() also handles the cases that did not work in Qt4 with XLookupString". Since finding a latin key is not working by XLookupString() in this rare case, then it would not work pretty much across the whole desktop. And users would be more interested at finding a solution that works across the desktop. We should not workaround this issue. Desktops that are doing it wrong should learn about this and not repeat the same mistakes on Wayland systems, where XKB keymap is assembled by compositor and passed to clients. Clients should work with the provided keymap as is. The missing-latin-keymap workaround is considered fragile for several reasons - it might not work with legacy or enterprise X server key codes and it relies on global _XKB_RULES_NAMES (there might be several connected keyboards). And theoretical limitation: client might be running in a restricted environment where we don't have access to keymaps on the file system. Change-Id: Ib445b2ea46174248cfa0e5da0eb642cd2a5cf2f6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* dbustray: add NewMenu signal and emit it when menu changedMarco Trevisan (Treviño)2018-02-223-0/+7
| | | | | | | | | | | | | | | | | This is a signal that is not actually supported by the StatusNotificationIcon standard, but it comes to be important for the Qt implementation of it, in fact qt apps might not have a menu, when exporting the Menu path as /NO_DBUSMENU or they could add this later in the execution. So, currently there's no way for the StatusNotificationWatcher to know when a menu has been added (or changed). Adding a NewMenu signal won't cause any troubles, but will allow watchers to be notified properly on menu addition. Change-Id: I9a8b00213f5023950811af1d62cd91bc51744b78 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* un-crash QPlainTestLogger::printMessage()Jan Arve Sæther2018-02-221-6/+5
| | | | | | | | | | | | | | | | | | Commit cf4a6111150d866424ee07bda80a1d38f24ea02d refactored out test identifier buildup into a standalone function, but it returned the QTestCharBuffer as a value type, which ultimately caused it to crash: Unfortunately QTestCharBuffer is not copied correctly: Since it uses the default copy ctor it will copy the buf pointer and create a deep copy of the staticBuf pointer. When the dtor was later called it would then end up calling free(buf) (where buf pointed to the staticBuf of the original QTestCharBuffer). Task-number: QTBUG-66607 Change-Id: Ifa290658be6f077a0d6613451c26aeeffc8df41c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 6ffb358822db2e0d30fb34853c3222cd866d57c5) Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QGtk3Menu: take GTK's scale factor into accountJ-P Nurmi2018-02-221-0/+3
| | | | | | | | | | | | GTK's scale factor, which can differ from Qt's scale factor, must be taken into account in the native GTK menu positioning function qt_gtk_menu_position_func(). Task-number: QTBUG-55251 Change-Id: I4ad460baab54facd25564ad85ded383c9321d597 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* psql: do not try to get table name when PQftable returns InvalidOidChristian Ehrlicher2018-02-221-7/+9
| | | | | | | | | | | When the table for a selected column can't be determined (e.g. because there is no table for it), PQftable returns InvalidOid. This was not covered and a query to determine the table name was executed every time which slowed down calls to QSqlQuery::value(QString). Task-number: QTBUG-65226 Change-Id: Idd8fbaaef7b01ca4151439f46cad2cce6f1c93e9 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Cocoa: fix grabWindow when mixing highDPI and non-highDPI screensPablo Marcos Oltra2018-02-221-13/+16
| | | | | | | | | | | | | | CGDisplayCreateImageForRect seems to have a weird behavior when mixing highDPI and non-highDPI screens since it may take part of the non-highDPI screen when the highDPI display is at the left or at the top of the main monitor. To workaround this issue, we capture the whole screen and then crop the image to the desired size. Task-number: QTBUG-47643 Change-Id: Ib2a3850a0a549964c7fe272abb563bd23518c234 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Add Linux-syscall-note exception to 3rdparty testlib documentationKai Koehne2018-02-221-3/+3
| | | | | Change-Id: Ib2e0ee2b7397e65ebd79a92fc83c9e08780d626e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* moc: Only use the init_priority attribute when targeting windowsMartin Storsjö2018-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | While both GCC and the GCC compatible clang support this attribute in general, GCC doesn't support it when targeting macOS, ending up with errors like these: error: 'init_priority' attribute is not supported on this platform This error isn't a property of the platform itself though, since clang supports the attribute just fine on macOS. The attribute is only used to work around an issue with dllimport on windows, so limit its use to that platform, to avoid issues with it potentially being unsupported on platforms other than macOS as well. This fixes compiling with GCC for macOS. Change-Id: I0235e6365635d73233951566c10ad869b26a0fc6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix build when ftp feature is disabledPasi Petäjäjärvi2018-02-211-0/+1
| | | | | | | Configuring Qt with -no-feature-ftp cause build to fail. Change-Id: I47f1cdc400702d0211a9f620c8606983f08fa70c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Revert "JSON doc: update the RFC we link to"Thiago Macieira2018-02-211-1/+1
| | | | | | | | | This reverts commit 71090f09509d52451e68b33e3e26807822849721. Changing the link was wrong because we do not actually comply with the new RFC. Task-number: QTBUG-66470 Change-Id: I940917d6763842499b18fffd15147cb93c27b7f4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* opengl: Bail if cached shader fails to loadAntonio Larrosa2018-02-212-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | QOpenGLProgramBinaryCache::setProgramBinary() should check GL_LINK_STATUS after glProgramBinary(), but doesn't. In practice, this means that SDDM is a white screen, and KDE is just a gray task bar. So far, Qt tries to check this using its internal ::link() function. But in case the cached binary fails to load, Qt currently attempts to link the inexistent program, resulting in a zero-length, fixed pipeline shader. Checking this already in ::setProgramBinary() makes the call to ::link() superfluous, so we remove that as well. Done-with: Max Staudt <mstaudt@suse.com> Done-with: Michal Srb <msrb@suse.com> Done-with: Fabian Vogt <fvogt@suse.de> Task-number: QTBUG-66420 Change-Id: Iabb51d0eb2c0c16bde696efff623e57d15f28d82 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* testlib: Pass on log message context to loggersTor Arne Vestbø2018-02-215-20/+47
| | | | | Change-Id: I1e0bb09d4f96b45f1e9757ea25ae3aba1ae42447 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QHeaderView: Preserve settings on layoutChange with empty modelChristian Ehrlicher2018-02-211-0/+24
| | | | | | | | | | | | | | Do not clear the settings of QHeaderView during layoutChange when the model is empty and the section count did not change. This will not work when a section is moved or a section is replaced with a new one during layoutChange. But since layoutChanged is also called on sorting, this patch ensures that the settings are not cleared in this case. This restores the behavior to the same as before 5.9.4. Task-number: QTBUG-66444 Task-number: QTBUG-65478 Change-Id: I39989cfd45b42e58f49d18ec014d3a941cadb6c9 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QHeaderView: properly restore hidden section size on layoutChanged()Christian Ehrlicher2018-02-211-3/+7
| | | | | | | | | | | During (re)storing the sections within layoutChanged handling, the hidden section size was not properly stored which lead to a section size of 0 when the section was unhided afterwards. Task-number: QTBUG-66413 Task-number: QTBUG-65478 Change-Id: I0b714c7e0530a1eae82b3bb0e0dc80ed576522d0 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Remove left over json/qjsonarray.cppFriedemann Kleint2018-02-211-1238/+0
| | | | | | | Complements a6b697ca13945a174cff9f3e9b1af1cf61c0bea5. Change-Id: I96697624aa65a5a45ce91ceaf0e156fd112a8ed0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix some qdoc-warnings for 5.11Friedemann Kleint2018-02-212-2/+2
| | | | | | | | | | | | | | | | Rename example savegame and its snippets following a6b697ca13945a174cff9f3e9b1af1cf61c0bea5. Fix: /qtbase/examples/corelib/serialization/savegame/doc/src/savegame.qdoc:28: warning: Cannot find file 'json/savegame/savegame.pro' or 'json/savegame/savegame.qmlproject' qtbase/examples/corelib/serialization/savegame/doc/src/savegame.qdoc:98: (qdoc) warning: Cannot find file to quote from: 'json/savegame/level.cpp' json qtbase/src/network/ssl/qsslconfiguration.cpp:889: warning: Undocumented parameter 'name' in QSslConfiguration::setBackendConfigOption() qtbase/src/corelib/tools/qbitarray.cpp:314: warning: No such parameter 'len' in QBitArray::fromBits() Change-Id: If59512873ca2116b89490927fdbf9ea1d8b237a8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* Windows QPA: Fix accessibility being triggered by IMEFriedemann Kleint2018-02-211-0/+1
| | | | | | | Add missing break. Change-Id: Ib17e348e64379abded41f6c044de59f9ee1dd8fc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Bump copyright yearJani Heikkinen2018-02-211-1/+1
| | | | | | Task-number: QTBUG-65810 Change-Id: Ib6f87a126f64c2e4b2e924b97af4c2b2d10dd29e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QtConcurrent::MedianDouble: do not access uninitialzed valuesChristian Ehrlicher2018-02-201-0/+1
| | | | | | | | | | | | Properly initialize MedianDouble::values in ctor. This fixes the following valgrind warnings in the unit test: Conditional jump or move depends on uninitialised value(s) at 0x40771E4: addValue (qtconcurrentmedian.h:161) by 0x40771E4: QtConcurrent::BlockSizeManagerV2::timeAfterUser() (qtconcurrentiteratekernel.cpp:195) Change-Id: I8c8e297a52caca38cd6191ae2653f2765d387077 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Add missing "We mean it." warningsMårten Nordheim2018-02-2010-0/+110
| | | | | | | | Private headers not only need the _p suffix, but we also need to mean it :) Change-Id: I6028200a872661af34cbf90c77974cc1a22c09c3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix touch point positions of non-transformable QGraphicsItemsFriedemann Kleint2018-02-203-17/+35
| | | | | | | | | | | | | | | | | | | | | TouchEvent::TouchPoint::pos was not updated in QGraphicsScenePrivate::updateTouchPointsForItem(). To prevent the transformation being calculated repeatedly for each touch point member, extract a function genericMapFromSceneTransform() from genericMapFromScene() returning the transformation and use that whereever multiple points are transformed. Add a test, extracting helper functionality from tst_QGraphicsItem::touchEventPropagation(). In addition, fold tst_QGraphicsScene::checkTouchPointsEllipseDiameters() from c48f4bde0044bd5b23af231f3639d0779ecbdb03 into this test, so that it is testing all transformations. Task-number: QTBUG-66192 Change-Id: If71886d2c14c4e216f7781ea2f22f1adc444e6cf Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* xcb: Fix -geometry argument for platformName with arguments or fallbacksJohan Klokkhammer Helsing2018-02-201-4/+4
| | | | | | | | | | | | | | | | | | | | | -geometry, -title and -icon for xcb did not work if the platform string had arguments or there were fallback platforms. Only accept the arguments if xcb is the default platform. I.e. ignore the arguments if xcb is a fallback. This now works: ./application -platform "xcb:someArg=value" -title specialXcbTitle ./application -platform "xcb;wayland" -title specialXcbTitle ./application -platform "xcb:someArg=value;wayland" -title specialXcbTitle But this does not: ./application -platform "wayland;xcb:someArg=value" -title specialXcbTitle Change-Id: I4ee20b1ed722bc98417a5e75db7d8c98ffcdfcfe Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Support multiple entries in the Qt platform plugin stringJohan Klokkhammer Helsing2018-02-201-27/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtGui] QT_QPA_PLATFORM and the -platform argument now support a list of platform plugins in prioritized order. Platforms are separated by semicolons. The plugins are tried in the order they are specified as long as all preceding platforms fail gracefully by returning nullptr in the implementation of QPlatformIntegrationPlugin::create() This is useful on Linux distributions where the Wayland plugin may be installed, but is not supported by the current session. i.e. if X11 is running or if the compositor does not provide a compatible shell extension. Example usage: QT_QPA_PLATFORM="wayland;xcb" ./application or ./application -platform "wayland;xcb" Task-number: QTBUG-59762 Change-Id: Ia3f034ec522ed6729d71acf971d172da9e68a5a0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.10.1' into 5.11" into ↵Tony Sarajärvi2018-02-203-14/+8
|\ | | | | | | refs/staging/5.11
| * Merge remote-tracking branch 'origin/5.10.1' into 5.11Liang Qi2018-02-193-14/+8
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/sqldrivers/psql/qsql_psql.cpp Change-Id: I070b455078b41e75c46562fcea5676d6218cd00c
| | * psql: Improve performance of record()v5.10.1Andy Shaw2018-02-081-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to save having to always run a query to get the tablename for a known oid then we cache the result on the driver side. The oid stays the same while the table exists, so only on dropping it would it change. Recreating the table causes it to get a new oid, so there is no risk of the old one being associated with the wrong table when this happens, if the driver is still open at that point. The benchmark added shows the improvement from the previous code, before the results for PostgreSQL was: RESULT : tst_QSqlRecord::benchmarkRecord():"0_QPSQL@localhost": 259 msecs per iteration (total: 259, iterations: 1) whereas now it is: RESULT : tst_QSqlRecord::benchmarkRecord():"0_QPSQL@localhost": 0.000014 msecs per iteration (total: 59, iterations: 4194304) Task-number: QTBUG-65226 Change-Id: Ic290cff719102743da84e2044cd23e540f20c96c Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Robert Szefner <robertsz27@interia.pl> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * QCocoaWindow: be more careful when flushing eventsRichard Moe Gustavsen2018-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flushing the QPA event queue is problematic since we can then end up delivering several events to Qt (or the app) at the same time on the call stack. This again can easily leave objects in an inconsistent state if they receive callbacks from subsequent events while being occupied processing the first. This is also what happens in the listed report. A QMenu shows a sub menu when the mouse enters a menu item. The show leads to QPA flushing events, which in some cases also includes flushing another pending move event. The move event is delivered to the same QMenu, which will clear a private variable (currentAction). When the show returns, the state of QMenu has unexpectedly changed, which causes a crash to happen since currentAction is null. This patch will fix the root cause of the problem by stopping QCocoaWindow from flushing user input events when the call location does a flush to deliver geometry events. Task-number: QTBUG-66093 Change-Id: Id277550b0a080ad98c81e8c30dc7098dc73723d5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * QString: fix comparisons to null strings in ucstricmpThiago Macieira2018-02-041-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 8f52ad9fe084eee26869e4a94a678076845a6f58 ("ucstricmp: compare null and empty strings equal") made sure empties and nulls would compare equally, but may have broken the null vs non-empty comparison (which was not tested). The commit message also said that it expected all callers to handle null before calling into those functions, but that's not the case for QStringView created from a null QString: the incoming "a" pointer was null. So just remove the checks for null pointers and rely on the size checks doing the right thing. [ChangeLog][QtCore][QString] Fixed a regression from 5.9 that caused comparing default-constructed QStrings to be sorted after non-empty strings. Task-number: QTBUG-65939 Change-Id: I56b444f9d6274221a3b7fffd150c83ad46c599b6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | macOS: Remove qDebug silencer in qthread_unix.cppTor Arne Vestbø2018-02-191-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was added by Sam back in 2007, and we've removed other instances of the same pattern since then. It doesn't make any sense today. Change-Id: I0f3cb299e312648fd9dc96c639dab4c77fcb48c7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | macOS: Don't assume m_view is QNSView when calling requestUpdateTor Arne Vestbø2018-02-191-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I98833c5ecc5816a0926045e10ef0442a39be6b2e Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | macOS: Remove unused variableTor Arne Vestbø2018-02-191-2/+0
|/ / | | | | | | | | | | Change-Id: I7e016db57cbf347529b6aa003d84585eeab0767d Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | xcb: Fix developer buildFriedemann Kleint2018-02-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add Q_UNUSED, fixing: qxcbbackingstore.cpp:344:45: error: unused parameter 'segmentSize' [-Werror=unused-parameter] on Kubuntu 17.10. Amends 24adaa9a742e6f95ff897d0eb9a2bce0527dd042. Task-number: QTBUG-46017 Change-Id: I64f21d8f1d1ac21340cfbba66b97768140ce23a8 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Add Wayland in the documentation for QGuiApplication::platformNameJohan Klokkhammer Helsing2018-02-191-0/+2
| | | | | | | | | | Change-Id: Ie19dbeeba6cd9664ad546dd2b2ae0bf6cbd199a0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Fix incorrect documentation for -platform, QT_QPA_PLATFORM and friendsJohan Klokkhammer Helsing2018-02-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This makes the documentation match the implementation. -platform overrides QT_QPA_PLATFORM, not the other way around. Similarly for the other arguments. Change-Id: Iffaf8bb1134bc57e5b682f37b9cc1a713872ede1 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Fix compilation with QT_DISABLE_DEPRECATED_BEFORE=0x060000Marcel Krems2018-02-161-0/+2
| | | | | | | | | | | | | | Regression introduced in b254b03dc3b1cfcfc5f17158d2470e0a9a946a0e Change-Id: I77e8718cc6be79d4fbea5510e8d7cc7808a609c2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Handle unset $DISPLAY variable when using the offscreen platformJan Murawski2018-02-161-2/+6
| | | | | | | | | | | | | | | | | | | | Skip the initialization of a QOffscreenX11GLXContext and thereby fix a null pointer dereference if the environment variable $DISPLAY is unset or contains invalid information. Task-number: QTBUG-66423 Change-Id: Ideea510d1c63a4f6700839955d833cd10e3b0bbe Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | Fix configure.json (OpenSSL 1.1 on Windows)Timur Pocheptsov2018-02-161-0/+4
| | | | | | | | | | | | | | | | | | Since 1.1 lib names are similar to what they have on other platforms, that is: libssl and libcrypto. Task-number: QTBUG-62733 Change-Id: I477899433719fe36104491601d8cb71004b265ae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | xcb: Fix access to shm for X server running from another userAlexander Volkov2018-02-153-35/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use ShmCreateSegment call, that was added in MIT-SHM 1.2, to create shared memory segments on the server side. It returns a POSIX shared memory object that is used to mmap memory. It's in effect a file descriptor that is passed through the X server socket and thus avoids permission checks. On the other hand this scheme is more secure, because the file descriptor, and thus the shared memory, are accessible only by the X server and the application. Task-number: QTBUG-46017 Change-Id: I202eead9d01aee2ab5b65f4f74f4c13da7cb2239 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | xcb: Enhance SHM management codeAlexander Volkov2018-02-153-44/+91
| | | | | | | | | | | | | | | | | | | | - extract the creation of a shared memory segment into a separate function - do extra checks for errors - check that MIT-SHM extension is present once in QXcbConnection Change-Id: I956bdf76b879ec5c95a7ed219a59ae722dc5afba Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | fix missing __builtin_mul_overflow for Windows ICCAlexander Shevchenko2018-02-151-1/+1
| | | | | | | | | | | | | | | | Complete 43c44d05ca6af4ec78c1dea84635375a637ff80d to cover builds using Windows ICC. Change-Id: I5f4d62f17b54835a58f3002744574c514cce5e39 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.10' into 5.11" into ↵Liang Qi2018-02-1540-86/+274
|\ \ | | | | | | | | | refs/staging/5.11
| * \ Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-1540-86/+274
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/corelib.pro src/corelib/global/qrandom.cpp src/network/access/qhttpnetworkrequest_p.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoansmenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/offscreen/qoffscreenintegration.h src/widgets/kernel/qaction.cpp src/widgets/widgets.pro Done-with: Andy Shaw <andy.shaw@qt.io> Change-Id: Ib01547cf4184023f19858ccf0ce7fb824fed2a8d
| | * | QSaveFile: Check for EINTR in fsync()/fdatasync()5.10Thiago Macieira2018-02-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QSaveFile] Fixed an issue that would cause QSaveFile::commit() to fail if Unix signals were delivered at the same time. Task-number: QTBUG-66268 Change-Id: I3debfc11127e4516b505fffd151148e70662cd5e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
| | * | Set the ellipseDiameters back to the original size in QGraphicsViewAndy Shaw2018-02-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling setSceneRect() on a QTouchPoint it will cause the ellipseDiameters to be changed, whereas this should not be affected by the scene rectangle as it should be in logical pixels. Also add a manual test for visually checking the ellipse diameters on various devices. Change-Id: I1ee9207cb1a63cfef33fe904594c73aba221af5c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * | Use the right attribute when checking if shortcuts are shownAndy Shaw2018-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I784965dda64551e6093af817881aa6472d2cc226 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>