summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | doc: Correct remaining qdoc warnings in qbytearraymatcher.cppMartin Smith2018-01-041-6/+6
| | | | | | | | | | | | | | | | | | | | | clang required adding template clauses to a few \fn commands. Change-Id: I5877c7bebd6a8a7b2630addb656d32e6f2043cf1 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Add AVX2 optimized versions of the most basic RGB64 compositionsAllan Sandfeld Jensen2018-01-043-2/+189
| | | | | | | | | | | | | | | | | | | | | Speeds up RGB30 and ARGB32-unpremul painting. Change-Id: I419afdf5c26ceffc0f7557b8f196035056178c9a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | doc: Correct remaining qdoc warnings in qthreadstorage.cppMartin Smith2018-01-041-6/+6
| | | | | | | | | | | | | | | | | | | | | clang required adding template clauses to a few \fn commands. Change-Id: I9972f793b05f423456878514eeaaa19baf8a9785 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Correct remaining qdoc warnings in qqueue.cppMartin Smith2018-01-041-5/+5
| | | | | | | | | | | | | | | | | | | | | Added missing template clause to \fn commands required by clang-qdoc. Change-Id: I53fe0b2c862cb053119ceab543dacbc4b20466df Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Correct remaining qdoc warnings in qhash.cppMartin Smith2018-01-041-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | Added template clause to several qHash() functions and created a \typedef comment for QHash::const_key_value_iterator. Change-Id: Id56191f69bf9f36e606101e46bf1dfa528d88e09 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Remove duplicate qdoc comments in qiterator.qdocMartin Smith2018-01-041-120/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The incorrect ones had been removed already, but they reappeared after a branch merge, I think. This update removes the old ones again. Change-Id: Ief971819651fa3517f374d9f226c68bf7f015cb0 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | xcb: fix and optimize QXcbConnection::xi2SetMouseGrabEnabledGatis Paeglis2018-01-033-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | What was broken: - m_xiGrab on successful ungrab (XIUngrabDevice) was never set to 'false'. Which means that we would unnecessarily call XIAllowTouchEvents, even when we are not grabbing (this did not have any apparent side effects). What was non optimal: - Redundant XIQueryDevice calls. XIQueryDevice with XIAllMasterDevices flag already returns all required devices. Calling XIQueryDevice for every id again does not make sense. - Querying for master pointer info on every grab is unnecessary. Simply cache ids of master devices whenever hierarchy changes. What remains to be investigated some time later (or never): The original and the re-factored code grabs all master pointer devices. Not sure if that is the expected behavior on MPX (Multi-pointer X) systems. Could there be two context menus, each dismissed separately? MPX concept was introduced in XI2.0, but testing shows that this setup is not very well supported even on modern desktop environments. Tested on Ubuntu 16.04, where multiple pointers is enough for crashing a terminal. Also AFAIK there isn't any bug reports about broken MPX support in Qt. Change-Id: I53f99c6efd44abc43a0985e15cff8aae7ebba8f1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | QTreeWidget: fix visualItemRect()Christian Ehrlicher2018-01-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTreeWidget::visualItemRect() returned an invalid QRect when a column was moved and then hidden (or the other way round). The reason was that the logical index returned by QHeaderView::logicalIndexAt() was again passed to QHeaderView::logicalIndex() to create the QModelIndexes needed for QTreeView::visualRect() Task-number: QTBUG-28733 Change-Id: I8676f21bcab8c05c2260b85d483902f18cbf3e24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | QToolButton: adjust menu indicator in RTL-modeChristian Ehrlicher2018-01-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The menu indicator was not adjusted in RTL-Mode to be on the left side of the text. Use visualRect() to adjust the rectangle before drawing the PE_IndicatorArrowDown. Task-number: QTBUG-50084 Change-Id: I20129499f111d06637c98ede23b4635a3fc34a6c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QItemViews: Add ability to show QJsonValue::Bool/DoubleChristian Ehrlicher2018-01-031-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q(Tree|Table|List)View was able to display a simple QJsonValue::String, but not QJsonValue::Bool/Double. This is an inconsistent behavior which is fixed with this patch. Task-number: QTBUG-65082 Change-Id: I22c2fe2890f11e283cae4f7ea947aa67ff36f367 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Update Text segmentation and line break data to Unicode 10.0Lars Knoll2018-01-033-5664/+5797
| | | | | | | | | | | | | | | | | | | | | | | | Also adjusted the text segmentation and line break algorithms so that they can handle the new data, and pass the test suite. Change-Id: Ib727fd80003e34e96458d7a681996de3fa3691e7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Update most Unicode data to version 10.0Lars Knoll2018-01-035-5607/+6169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The text segmentation data is not being updated in this change, as it requires additional code changes. Updating those will come in a follow-up commit. Change-Id: I5d6b6bc96044e8dd0c25cf6f79756e7f68bf6e7c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Update QString::isRightToLeft() to take directional hints into accountLars Knoll2018-01-034-3/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we properly handle both directional embeddings as well as directional isolates to determine the direction of the string. According to the latest version of the Unicode bidi algorithm, parts of the string contained inside an directional isolate is to be ignored when determining the paragraph direction. Embedding markers themselves are to be ignored as well, but not the characters inside an explicit directional embedding or override. This is also some required pre-work to get our BiDi algorithm updated to the latest version of the standard. Move the implementation to QStringView and implement the methods in QString and QStringRef through that implementation. Task-number: QTBUG-57743 Change-Id: I7f24e09198e22d6359c6534c9ae40a904e94c46e Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | doc: Correct remaining qdoc warnings in QRandomGeneratorMartin Smith2018-01-021-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the integration of clang in qdoc, several qdoc warnings appeared for class QRandomGenerator. This update corrects all the remaining qdoc warnings. Change-Id: I92fe9f7d9cb193e145ee8ad0e7198625b9a5bf7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Liang Qi2018-01-02228-1131/+2930
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/5.10' into devLars Knoll2018-01-02228-1131/+2930
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf sc/corelib/io/qfsfileengine_p.h src/corelib/io/qstorageinfo_unix.cpp src/platformsupport/eglconvenience/qeglpbuffer_p.h src/platformsupport/input/libinput/qlibinputkeyboard.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/ios/qiosscreen.h src/plugins/platforms/ios/qioswindow.h src/plugins/platforms/ios/quiview.mm src/printsupport/dialogs/qpagesetupdialog_unix_p.h src/printsupport/dialogs/qprintpreviewdialog.cpp src/printsupport/widgets/qcupsjobwidget_p.h src/widgets/widgets/qmenu.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
| | * | sqlite: Check that there are values to be set when bindingAndy Shaw2018-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the values vector is empty then we know already that the paramCount will still be invalid, so we should just accept that and not check the reused named placeholders. Task-number: QTBUG-64923 Change-Id: Ifaa755540c4574f1f76d3f9f129bf0f66b837b70 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-12-30118-666/+2078
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/win32-g++/qmake.conf src/corelib/global/qglobal_p.h src/corelib/global/qoperatingsystemversion_p.h src/corelib/io/qfilesystemengine_win.cpp src/network/bearer/qbearerengine.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qfusionstyle.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
| | | * Allow moc to handle Unicode output filenames on Windows with MSVCJake Petroules2017-12-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The C standard library functions cannot handle UTF-8 filenames. Instead, we need to use the wide-character versions which accept UTF-16 input. Task-number: QTBUG-65492 Change-Id: If4b3b4eeeec4f3bbb428b8f6b0311a65d01463b0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QMap: fix another UB (invalid cast) relating to QMap's endThiago Macieira2017-12-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like in commit 75cdf654bcc192ba73a8834e507583a59140e7e4, we use the pointer value of the QMap header (which is of type QMapNodeBase) as a sentinel. It's never dereferenced. In that commit, the issue was calling end() directly; in here, it happens when iterating forward from any element, which means nextNode() can reach back to the header. However, using static_cast is wrong, so we use reinterpret_cast. Change-Id: I39332e0a867442d58082fffd15040317704a87ce Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | | * qfloat16: NaN is not infiniteThiago Macieira2017-12-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I39332e0a867442d58082fffd1502b7010424f0f8 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | | * iOS: Don't send all touch events asyncTor Arne Vestbø2017-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 77942a1bdf9 introduced the QScopedValueRollback, but without assigning it to a local temporary, so the value was rolled back immediately, resulting in always sending touch events async. Change-Id: Ic7f65c3d38c46813ff06694e883dae3df138b9d4 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | * Use AccessCheck for current user effective file permissionsDyami Caliri2017-12-211-9/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows, QFileInfo.isWritable() was returning true in situations where the file would only be writable with elevated privileges. Using AccessCheck instead of GetEffectiveRightsFromAcl to get the correct results. Done-with: Friedemann Kleint <Friedemann.Kleint@qt.io> Done-with: Edward Welbourne <edward.welbourne@qt.io> Task-number: QTBUG-30148 Change-Id: I7a3468ac069bf782ca312078e3a84107b6cd468c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * Add more code examples to QUrl documentationMitch Curtis2017-12-211-5/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code examples make it much easier to learn how an API behaves. One area that the patch tries to address is the distinction between a relative URL and a relative path. Change-Id: Ife52172816b89afb6cd810b07d3573480e2cd747 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Fix typo in QSslKeyMårten Nordheim2017-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I201f4af1dd43a8e74d26652b50f3ad6074952888 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * winrt: Register ssl socket upgrade callback in Xaml threadOliver Wolff2017-12-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-65354 Change-Id: If628c73b05854c13086708c193995062c8b9f9e4 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| | | * Don't crash with null receiver/context in new-style connectsSergio Martins2017-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | old style connects have protection against null sender and null receiver, but new style only had against null sender. Change-Id: Ie555ac078412918e60c3b60830fe1f3abfb7f5af Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | | * Fix pps and imf support for QNX buildsKarim Pinter2017-12-196-32/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change from config to feature in the json and pro files. Change-Id: I58ddac3c4ad739253bae010f1d5023fc1d481047 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | | * QGestureManager: fix UB (invalid pointer comparison)Marc Mutz2017-12-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comparing pointers with op< that do not point into the same array is UB. Fix, in the usual way, by using std::less. Change-Id: Id2c957557719887b2016632d683dbab8af07b34c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Widgets: check if parent exists before calling parent->locale()Richard Moe Gustavsen2017-12-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a top level, parentless widget has Qt::WA_WindowPropagation set, Qt will crash when trying to resolve the widgets locale. The reason is that we try to access the QLocale of the non-existing parent. This patch will add a check if a parent exists before trying to access it. Task-number: QTBUG-61213 Change-Id: I09a6351a12dc1fffab3069b70e3d7b3932317c85 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * Prevent infinite relayout when adding scrollbarsAndy Shaw2017-12-182-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When one scrollbar is added, this may cause the other to be needed as well. This change does a second calculation immediately instead of relying on a signal through a QueuedConnection. Task-number: QTBUG-62818 Task-number: QTBUG-56280 Change-Id: Iee9a083e3a6cd3765e6bb9206687a8a6e7f99cff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | | * QTreeView: Make sure QHeaderView is notified on layoutChanged()Christian Ehrlicher2017-12-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderViewPrivate::_q_layoutChanged() was not called when used in a QTreeView because it was explicitly disconnected in setModel(). The disconnect was added sometime prio to Qt 4.3, but there the signal was connected to the doItemsLayout() slot. This was correct since QTreeView::doItemsLayout() is calling header->doItemsLayout(). In Qt 4.3.0 _q_layoutChanged() was introduced and the disconnect was adjusted. But since _q_layoutChanged() is doing much more than doItemsLayout() (e.g. restoring hidden sections), functionality was lost. The problem was already observed for Qt 4.6 (QTBUG-18196) but only partially fixed. Task-number: QTBUG-41124 Task-number: QTBUG-54610 Change-Id: Id13a9930d0163812e12a0287016bab9c3aa02068 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | | * Derive QPpsObjectPrivate from QObjectPrivateKarim Pinter2017-12-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 5d4089299ab4c39463e228e5896a3010268a36f2 commit, which was causing a build break if qnx pps is enabled. Change-Id: I8c29f48bde0187a9db02d6325e8a9a0fae760bcb Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| | | * Disable WiFi bearer plugins on macOS and WindowsMorten Johan Sørvig2017-12-151-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scanning for WiFi networks is causing network disruptions in the form of higher latency, sometimes globally for all running applications. In practice, the default configuration selection algorithm in QNetworkConfigurationManager prefers configurations from the generic bearer plugin, due to the way the plugins are ordered. Removing the platform WiFi bearers should have no effect on default network configuration selection. Task-number: QTBUG-40332 Change-Id: I778281c41a1aaec1949c220a9266677bd788a57a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * Add EGLFS integration plugin for Salvator-X on INTEGRITY MultivisorTimo Aarnipuro2017-12-157-1/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This plugin uses the Renesas RISP Window Manager. Change-Id: If813c46ab8d39e966c0a969610841867885dd473 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | * Android: Set correct input hints when queried through getCursorCapsModeJohan Klokkhammer Helsing2017-12-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | getCursorCapsMode() now matches the Java implementation in QtActivityDelegate.showSoftwareKeyboard() which is given to the Android keyboard on InputConnection creation. The reason we only saw this bug with some Android keyboards was that many keyboards never call getCursorCapsMode and just rely on the initial hints. Task-number: QTBUG-51865 Change-Id: I2aae024d9c77ea14e087e3f51a413d15a684179c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | | * Doc: Fix paths to 3rdparty license filesKai Koehne2017-12-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix paths added in 870423f98ba4a3a. This caused havoc on case sensitive file systems. [ChangeLog][Third-Party Code] Fixed glitch in attribution documentation for Freetype licenses / Qt Gui. Task-number: QTBUG-65138 Change-Id: Idb20a1ead772337f97a1262da42c62f6aef04a54 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | | * macOS: Enable using CoreGraphics helper functions from C++ sourcesTor Arne Vestbø2017-12-141-3/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: If32c96d224bfb90ba22661b6f5ac3c920acb39d2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | * QStyleSheetStyle: Draw menu item also when font is setFriedemann Kleint2017-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-64055 Change-Id: I0674e7b43bb56aa1834c8df10794714dbcc4e5e3 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | | * QFileSystemModel: Enable experimental code path for per-file watchingFriedemann Kleint2017-12-142-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFileSystemModel had a #ifdefed out experimental code path for watching single files to track changes in size, which got outdated over time. Replace the #ifdef 0 by a check for the environment variable QT_FILESYSTEMMODEL_WATCH_FILES, fix it up and apply some fixes to related code to make it work: - Split file names signaled by QFileSystemWatcher on '/' always. - Do not instantiate QDirIterator on "", which means "current directory" and results in mixed-up directories. - Check on lastModified() in QExtendedInformation::operator==() so that changes trigger an update in _q_fileSystemChanged(). - Fix the #ifdefed out part to compile and not to add directories to the watcher. [ChangeLog][QtWidgets][QFileSystemModel] It is now possible to enable per-file watching by setting the environment variable QT_FILESYSTEMMODEL_WATCH_FILES, allowing to track for example changes in file size. Task-number: QTBUG-46684 Change-Id: Ia5da9170866416c9529251f889814b23d7a7d069 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * fix namespaced buildOswald Buddenhagen2017-12-143-6/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibd16658ef800afe1dec01311cc4ef1a9a6d83929 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * update sqldriver docsOswald Buddenhagen2017-12-143-199/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - adjusted to new configure system realities - centralized 'make install' instructions - fixed 'make' command for mingw - externalized the license compatibility question - removed dated information about postgresql client libs - removed dated claim that freetds is not stable yet - updated official sybase client link to point to sap support - removed apparently bogus "demo" include path from oci instructions, based on the archive content description - removed troubleshooting item about static builds - one can use static "plugins" with a static build just fine. and building dynamic plugins for a static build is plain impossible to start with. - removed troubleshooting item about build key mismatch, as build keys have been removed in qt5 - removed "general info" sub-section titles, as that's bad style - misc language and minor content fixes Task-number: QTBUG-62479 Change-Id: Ic4efa9e20a5966b6fc646062aec6d1a8d4ff4158 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Allow empty namespace URIPaul Olav Tvete2017-12-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | W3C Namespaces Standard states that "The attribute value in a default namespace declaration MAY be empty" (secion 6.2). Analysis and fix thanks to Eugenio Rustico. Task-number: QTBUG-63538 Change-Id: Icd8d4df639b9737d8e0d215bf2bea56fe1e161ac Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * Fix assert when emitting a signal from a different threadJesus Fernandez2017-12-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a signal is emitted more than once in a multithreaded application the QSignalEventGenerator::execute function asserts in the check for a valid signal index. It happens after abandoning the state and all the connections are disconnected. If we have pending signal to be processed the QObject::sender() won't be able to resolve the sender object. Task-number: QTBUG-61463 Change-Id: I9d4b7266c6dddc9ff2e7453b05a6989876ccb332 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * Share QWidget update and repaint code for QRect and QRegionTor Arne Vestbø2017-12-142-46/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidgetBackingStore::markDirty has an optimization for QRect, so we don't want to unify these two functions by calling update/repaint(QRegion(rect)). Change-Id: Id2a42f478f71863da45697041e0ab0130c74b9d2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | | * QWidget: Remove dead code for handling painting without a backingstoreTor Arne Vestbø2017-12-141-49/+18
| | | | | | | | | | | | | | | | | | | | Change-Id: Iacf852c8620ea06d790cddcf6774b772f754e08a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | | * Copy argv[0] to prevent it pointing to invalid memory laterAndy Shaw2017-12-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QCoreApplication is recreated, it is possible the previous argv[0] pointer has become invalid, so we should not rely on it. So to prevent that, we copy the original argv[0] to a static QByteArray. Task-number: QTBUG-58919 Change-Id: Idadd4cb78e4281830165fb681ea7925109f316ff Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * Fix/workaround a quirk in SecureTransportTimur Pocheptsov2017-12-141-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We set anchors from QSslConfiguration::caCertificates. On macOS these anchors are by default copied from the system store, so I expected setting 'trust those anchors only' should not break anything. Somehow, on 10.11 SecTrustEvaluate fails to evaluate a valid certificate chain (apparently because it has an intermediate certificate, it's just a guess, since their API/docs are too poor to explain well what was the real cause) as I can see connecting, for example, to google.com - we have a chain with a valid root, say it's GetTrust CA and we have it also in our list of anchors we set on trust, but evaluation fails with: kSecTrustResultRecoverableTrustFailure: "This means that you should not trust the chain as-is, but that the chain could be trusted with some minor change to the evaluation context, such as ignoring expired certificates or adding an additional anchor to the set of trusted anchors." Since none of certs is expired, and the required anchor already set, this must be some bug in SecureTransport. For macOS (deployment target) < 10.12 we fallback to the original version of the code (the one that unfortunately does not allow us to limit the set of trusted anchors by what client code wants to trust). Change-Id: Ie42fd77c3eb6ef7469812aa0d7efff88a003c0b8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * xcb: update libXi version requirement in the README fileGatis Paeglis2017-12-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... from 1.7.4 to 1.7.5 (released Sep, 2015). Some more locking issues were fixed after 1.7.4. Testing for a prolonged period of time has showed that 1.7.5 does not cause a system lock-up. [ChangeLog][Platform Specific Changes][X11 / XCB] Minimal libXi version requirement has been updated from 1.7.4 to 1.7.5. This is because XIAllowTouchEvents is known to deadlock with libXi 1.7.4 and earlier. When touch events are never received, this is not an issue. Plain mouse / keyboard systems are not affected. Task-number: QTBUG-62224 Change-Id: Ie70264b9af0390df33c417f660350d4bce48c6d3 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | * Teach QPlatformWindow about safe area margins and implement for iOSTor Arne Vestbø2017-12-1315-31/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The safe area margins of a window represent the area that is safe to place content within, without intersecting areas of the screen where system UI is placed, or where a screen bezel may cover the content. QWidget will incorporate the safe area margins into its contents margins, so that they are are never smaller than the safe area margins. This can be disabled by unsetting the Qt::WA_ContentsMarginsRespectsSafeArea widget attribute, which is set by default. QLayouts will automatically use the contents area of a widget for their layout, unless the Qt::WA_LayoutOnEntireRect attribute has been set. This can be used, along with a contents margin of 0 on the actual layout, to allow e.g. a background image to underlay the status bar and other system areas on an iOS device, while still allowing child widgets of that background to be inset based on the safe area. [ChangeLog][iOS/tvOS] Qt will now take the safe area margins of the device into account when computing layouts for QtWidgets. Change-Id: Ife3827ab663f0625c1451e75b14fb8eeffb00754 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>