summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | Doc: Swap unresolved variables with actual function namesPaul Wicking2018-01-101-44/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original documentation commit included unresolved link target names. This fix replaces them with the actual OpenGL function names. Change-Id: I36a24eb237ef35d7207f3bae0771dc96476d7b19 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * | | qtlite: Fix compilation of QWidgetLineControl when configured with ↵Rainer Keller2018-01-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no-feature-itemviews Task-number: QTBUG-53141 Change-Id: I00d9d7fc43a4531c9213281f529b2d0f3164a5c6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | * | | moc: Initialize staticMetaObject with the highest user-settable priorityMartin Storsjö2018-01-092-2/+8
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The referenced static meta object for the superclass might be in a different DLL. In this case, the whole QMetaObject can't be initialized all via preinitialized data in the data section of the binary, but must run code at runtime to fill in the value of the dllimported pointer. In these cases, both GCC and MSVC initialize as much as possible statically, while only filling in the dllimported values (QMetaObject::d::superdata) at runtime. Clang, on the other side, initializes the whole struct at runtime if some part of it needs runtime initialization, leaving the struct completely uninitialized before constructors are run. In C++, there are no guarantees for in what order constructors in different translation units are executed. This in particular means that there are no guarantees as to whether qRegisterWidgetsVariant() in qwidgetsvariants.cpp runs before or after the runtime initialization of QWidget::staticMetaObject. With GCC and MSVC, this doesn't seem to have mattered since only the superdata pointer of the staticMetaObject was uninitialized - everything else was initialized, and the superdata pointer doesn't seem to be accessed during qRegisterWidgetsVariant. With clang, the whole staticMetaObject is uninitialized, unless the staticMetaObject has been initialized before (and the initialization order is undefined). By setting a manual priority (which is a GCC extension that also clang supports) for the staticMetaObjects, we can be sure that these are initialized before the actual explicit constructor invocations (without any explicit initialization priority) that can access the staticMetaObjects. Change-Id: I64a82f12d690528567509791bae088b6304e189b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * | doc: Hints for using SAP HANA databaseJoachim Puhr2018-01-092-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the HANA ODBC driver does not provide scrollable results per default, the connection has to be established with a specific option. Change-Id: I14751a94f61d6fffd6d56c39076c24ec4d1f88ef Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Joachim Puhr <jpuhr@gmx.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * | sqlite: Bind duplicated named placeholders correctlyAndy Shaw2018-01-081-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sqlite will reuse the index for bound parameters when the named placeholder is duplicated so we only need to call bind one time for each placeholder. Therefore we need to have just one instance of each value when doing the bind. Task-number: QTBUG-65150 Change-Id: I75c4bcc4563e43c180a59a7a4cbb770dbe994642 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
| | * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-072-4/+8
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp Change-Id: Ib6dd965a7eb6f59103e276b3407739147ecd37b2
| | | * Change use of qDebug to qCDebugMårten Nordheim2018-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-65532 Change-Id: I8b6b8f04f5f6b63eb3c80f140710c8c05291986a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * winrt: Remove -qdevel and -qdebug from command line parametersOliver Wolff2018-01-051-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These options are used by winrtrunner/Qt Creator to control logging and debugging behavior and should not influence applications. Without this change applications that use QCommandLineParser::process have to explicitly remove these values from the arguments list or the application will exit with an "unknown option" error when run from Qt Creator. As winrt applications do not natively support command line arguments, breaking the use case of having these values as valid command line options is acceptable. [ChangeLog][qtmain][winrt] -qdevel and -qdebug are removed from the command line arguments and not passed to the application. Change-Id: I60e5565148fd3dd0155b946607fdf5042139d2e1 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| | * | QSqlRecord: (re)speedup indexOf(const QString& name)Christian Ehrlicher2018-01-061-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While adding the possibility to access values for QSqlRecord with decorated field names (table.field), some string-allocations were added which created a remarkable slowdown. Replace the QString allocations with QStringRef avoids those allocations and restores the speed for normal operations (apart from on QString::indexOf() call and some integer comparisons) Task-number: QTBUG-65226 Change-Id: I9e458523891421abce9e4a7ed931fec000dcbe76 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * | QStyleHelper: Use palette cache key in pixmap keyGabriel de Dietrich2018-01-051-20/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d7bcdc3a442b99c2caebd4cfd38de67e14090e05. Now that QPalette::setBrush() is a bit smarter (see c564779c071b35fddb76f4e50afda4305b634651), we can be confident the palette's cache key won't change so often. Therefore, we can use it again as part of every pixmap's cache key. Change-Id: I5cab2296a937f9149c7745291e0442eea24f4e9d Task-number: QTBUG-65475 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * | qlalr: fix descriptionOswald Buddenhagen2018-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | amends 710875efde. Change-Id: Ia5e9dd6f3b080b876e4dc1eb99f2b43d73999c04 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | * | harfbuzz: Fix building for win64 with clangMartin Storsjö2018-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang errors out on casting from a pointer to a smaller integer type. This is an adapted backport of a newer upstream harfbuzz commit, 03b7a221f701a9b003890878e730ad175c3fdd86. Change-Id: I0de62d90008021aed6acf4e946ce1d346f9aac8c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | * | Make QPalette::setBrush() check before detachingGabriel de Dietrich2018-01-041-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting the same brush on the same group and role should not detach nor alter the result of QPalette::isCopyOf(). Task-number: QTBUG-56743 Change-Id: Ic2d0dd757d703b01e8c5d835a8c124b3317653f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | doc: Remove unneeded \fn commandsMartin Smith2018-01-122-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed unneeded \fn commands from two qdoc comments and moved one of the comments to the file where its function definition is located. Change-Id: I4c4371f0541d2995398b0d32e1df409433061226 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | | Add more Q_FALLTHROUGH()Friedemann Kleint2018-01-1224-54/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silence g++ 7.X warnings. Change-Id: Id06d06e7e3b5be2cf3934d81f1891da58dea2649 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | QMacStyle: Draw CE_MenuItem text using AppKitGabriel de Dietrich2018-01-111-0/+30
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We seem to induce QCoreTextFontEngine to draw text the wrong way in non-native QMenu popups. Here, we just delegate menu items' text rendering to AppKit. This is only a workaround pending a proper fix or better understanding of the aforementioned issue. Change-Id: I71088ebe2a534bebca2ad396b1ea6754be093f55 Task-number: QTBUG-65653 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | QGuiApplication: Add fontChanged signalKai Uwe Broulik2018-01-112-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the need to install an event filter on qApp just for this. A similar thing was done with setPalette to reduce the number of event filters in e.g. SystemPalette and Quick Controls. [ChangeLog][QtGui][QGuiApplication] Added fontChanged signal Change-Id: Ifa843aa42b91ac63ab17c3b064ac0e764aac77d3 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | SQL plugins: Fix warnings about deprecated constructor of QSqlErrorFriedemann Kleint2018-01-106-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | Use the constructor taking a string and convert number unless it is -1. Change-Id: I18d1ba2c8e0d3f4af01b7955863967f75051746b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | QRingBuffer: replace some checks with assertsAlex Trotsenko2018-01-102-31/+36
| | | | | | | | | | | | | | | | | | | | | | | | To avoid the silent exits and potentially dangerous output values, the caller must supply the correct parameters on input. Change-Id: Ia9c56940adbf4ad34605a002dfc5c86b32c4658c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | QHeaderView: fix visualIndexAt() in rtl-modeChristian Ehrlicher2018-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView::visualIndexAt() did not calculate the correct position in right-to-left mode. This lead e.g. to missing vertical grid lines in QTableView/Widget when scrolling horizontally. Change-Id: Ia50e5cfd7830a6ad8abd17ff79d9fbb33dc4097c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Avoid useless casts to/from uintChristian Ehrlicher2018-01-093-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove some c-style casts from int to uint which were needed in Qt3 (or earlier?) but nowadays the values are all int. Change-Id: Iecd739c450873adf952a17f635d7fb6825537907 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Long live QAbstractItemModelTester!Giuseppe D'Angelo2018-01-094-3/+947
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AKA the model tester, living in QtTestLib now. Underwent some significant refactoring from the original modeltester: in particular, it will stop testing illegal indices. [ChangeLog][QtTestLib] Added QAbstractItemModelTester, a class to help testing item models. Change-Id: I0e5efed7217330be11465ce3abb3590f3f2601a4 Reviewed-by: David Faure <david.faure@kdab.com>
* | | Micro-optimize QRingBuffer::free()Alex Trotsenko2018-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change the condition to strong equal, as 'bytes' was checked against wrong value on the start of the function. Change-Id: I4ec4768b9fff3292af233417c4a5862d72d4eeac Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Fix custom page size handling in the Unix print dialogAlbert Astals Cid2018-01-093-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were several problems that i've fixed in a single commit since they are very interwinded * The dialog used QPageSize::Custom for two things, the custom sizes coming from the printer and the "user can write whatever size they want" size. Now only the printer custom sizes use QPageSize::Custom and we use m_realCustomPageSizeIndex for the "user can write whatever size they want" one. * The dialog stored the QPageSize id as the combo userData, that doesn't work when the printer has multiple custom sizes since they all share QPageSize::Custom so now it stores the QPageSize itself Task-number: QTBUG-58733 Change-Id: Ie640a07bb5e24b753db83c091c836e8af4ff126c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | QUnixPrintWidgetPrivate::_q_printerChanged: Update state correctlyAlbert Astals Cid2018-01-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | We need to update the printer output format and the current print device when changing the printer so that if the user opens the properties dialog for that printer it reflects correctly the selected printer. Change-Id: Ib6767a74b74b8eebe43ff17006b6105c483a08b6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Validate printer duplex modeRenato Araujo Oliveira Filho2018-01-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Disable unavailable duplex options Remove redundant option on advanced tab Change-Id: Ie09c9ffd637b521210e3d7d4f15300792f910996 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* | | Small optimalization for NULL valuesRobert Szefner2018-01-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | No need to call PQgetvalue() before PQgetisnull(). Change-Id: Ie83ee577b082dbe9d9ca2e86212a281abebdde6e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Add doc explaining the gotcha when connecting a signal to qApp->exitd3fault2018-01-092-1/+15
| | | | | | | | | | | | | | | | | | Change-Id: I981e4bfdf679bf755665748e9d3b389a94561e55 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | Add HAVE_USLEEP define to give better performance where possibleAndy Shaw2018-01-091-0/+1
| | | | | | | | | | | | | | | Change-Id: I6fa68a7eac9001cabceabf846bc11e9ed1001d2c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Fix build due to missing QDebug includeSérgio Martins2018-01-091-0/+1
| | | | | | | | | | | | | | | | | | | | | The build just passes on Qt CI by chance. Change-Id: I3bfef12b48df22fa64d92af9cd345bfc984c9923 Reviewed-by: David Faure <david.faure@kdab.com>
* | | QWindowsXPStyle: Speed up level window loop in helper winId()Friedemann Kleint2018-01-091-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the loop using QGuiApplication::allWindows() to avoid the creation of temporary containers by QApplication::topLevelWidgets() and expensive checks. Task-number: QTBUG-64072 Change-Id: I56ef29b12f7bcbe274f3e00a6007d75d33f22b10 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | doc: Remove undef of Q_GADGETMartin Smith2018-01-091-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Someone, almost certainly this writer, undefed Q_GADGET for qdoc, but this was a mistake that caused clang to report a lot of errors for undefined variable. The undef of Q_GADGET is now removed. Change-Id: I39fb09443110b60bbcb16cf350f38c1eac773d8a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Correct clang parsing errors in qvariant.hMartin Smith2018-01-094-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some old uses of Q_QDOC to prevent the old qdoc C++ parser from seeing declarations it didn't need to see were preventing clang from seeing declarations it did need to see. These have been removed, and some internal documentation has been added to account for some declarations that suddenly became public but should not be seen in the Qt API. Change-Id: Iccf423e5cf8767f0a271150ab59bea54cf90ac46 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Move use of Q_CLANG_QDOC that caused compile-time assertMartin Smith2018-01-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | It caused a compile-time assert in clang that should not have occurred. It is now moved passed the assert macro. Change-Id: I8311992617de7837ca4604fcc3e5afb17dcda65d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Remove Q_QDOC declarations that are no longer neededMartin Smith2018-01-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | clang-qdoc understands Q_OBJECT, so it sees the declarations that appear there. Change-Id: I669be13af59269a0e108e0988d9b4f7779274c7c Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Remove unnecessary #ifndef Q_QDOCMartin Smith2018-01-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | It was used to prevent qdoc from seeing the entire include file, but clang qdoc needs to see it. Change-Id: Ib8dbcdcd68f2003f4dd89ed6a5c9e1b65bc1c67c Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Remove unnecessary qdoc declaration hackMartin Smith2018-01-092-5/+6
| | | | | | | | | | | | | | | | | | | | | A special declaration for qdoc was no longer needed. Change-Id: Ib3486be5c016d57cf09ef89fc8df29045fef0577 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Correct qdoc warnings in qobject.cpp and qmetatype.cppMartin Smith2018-01-085-40/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang required adding template clauses to a few \fn commands. There were also a few cases where Q_QDOC was changed to Q_CLANG_QDOC and a few cases where special declarations for qdoc were removed in favor of the actual declarations. Unfortunately, a few qdoc warnings remain unfixed for classes QObject and QMetaType, but these might be caused by minor bugs in clang-qdoc itself, so they will be fixed there. Change-Id: Ib586628cb6d2aa9cf4bcad303b5af09b412a7e57 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Fix support for flatpak FileChooser portalJan Grulich2018-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Properly parse filters. First captured substring in QRegularExpression is at index 1, with index 0 you access the full captured string. Change-Id: I68b6e314171536a08c606e5acd0f7211c1c3c254 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add a tech preview eglfs device integration for VSP2 compositionJohan Klokkhammer Helsing2018-01-0819-2/+2417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This creates a new device integration for eglfs, eglfs_kms_vsp2, that's very similar to eglfs_kms_gbm, but includes an extra step for doing VSP2 hardware compositing. The main Qt content is drawn to double buffered off-screen GBM buffers which are converted using drmPrimeHandleToFD so we get DMA buffer file descriptors that can be used by the VSP2 blending hardware. The blending hardware writes to double buffered DRM dumb buffers, which are flipped with drmModePageFlip. Communicating with the VSP2 is done using the Video4Linux2 (V4L2) streaming API. There are two steps in creating abstractions for this. First, there is the QLinuxMedia class that consists of a Qt style wrapper for V4L2 without anything VSP2 specific. Second, there is QVsp2BlendingDevice which hides some of the streaming details of the VSP2 and has some level of error recovery. Both classes include a fair bit of logging and error reporting. The patch is written with Wayland compositors in mind, but should work for other use cases as well. This is just the basic support to make compositing work, additional features may be added in subsequent patches, i.e: - Auto-detect VSP2 (-feature-vsp2 currently needs to be explicitly enabled). - Support for setting the alpha value of a layer. - Support clipping layers. - Support for scaling layers. - Support for other output formats than RGBA32. - Hardware cursor support. - Support foreign layers below the main Qt layer. - Support for memory mapped and user pointer buffer types (currently only DMA buffers are supported). Change-Id: I1917d2dbdbaeded0d9c021baaa799d56afe1a9bd Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | XCB: Undef KeyPress and KeyRelease also when not using xinput2Ulf Hermann2018-01-081-0/+2
| | | | | | | | | | | | | | | | | | | | | The defines come from X.h here, which is included via Xutil.h. Change-Id: I19887424cff28567fcbb1c352b42bb9d750b1928 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | Introduce QAbstractItemModel::checkIndex()Giuseppe D'Angelo2018-01-082-0/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When implementing a custom model there's the habit, in each and every function that takes a QModelIndex, to carefully checking the index passed by the caller. This index is checked for "legality" (*): does the index belong to this model, is the index pointing to an existing row and column, and so on. These checks are hand-rolled and, as such, slightly different and possibly incomplete (i.e. wrong) every time. What's worse, these checks are implemented via "ordinary" code (if statements). However, passing an illegal index to a QAIM function is a precondition violation, and as such does not (and must not) be checked in ordinary conditions, as it triggers undefined behavior. On the other hand, while debugging a custom model or a custom hierarchy of (proxy) models, having such checks in place can be a significant aid. Enter checkIndex(): a debugging helper for QAbstractItemModel and its subclasses. checkIndex() centralizes the checks for legality of a given index. User code is free to assert on it, or have some other fallback mechanism in case a check fails. (*) Using "legality" here instead of "validity" in order to avoid confusion between QModelIndex::isValid() and what checkIndex() really does. [ChangeLog][QtCore][QAbstractItemModel] Added QAbstractItemModel::checkIndex(), a debugging function for QAbstractItemModel subclasses. Change-Id: I1eea0586b1ac3ededdbfbf46759145022dc5ad86 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | QStringBuilder: add support for QStringViewMarc Mutz2018-01-082-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QStringBuilder] Added support for QStringView. Change-Id: I5b6803397b107ef69d198a935b3ba4339ac95087 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | QStringBuilder: add support for char16_t{,*,[]}Marc Mutz2018-01-082-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QStringBuilder] Added support for char16_t characters and strings. Change-Id: Iee727f07226f2a326ae0df28d44930336cd8f71e Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | QPSQL: Add support for multiple result setsRobert Szefner2018-01-081-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds support for multiple result sets in PostgreSQL. [Important Behavior Changes] The QPSQL driver now supports multiple result sets. Since QPSQL previously did not support multiple result sets, there may be some compatibility issues with the existing code that executed several queries as one and were expecting to get the results of the last one. In this case use QSqlQuery::nextResult() to move to the last result set. [ChangeLog][QtSql][QPSQL] Added support for multiple result sets Change-Id: I2bfc91f512c4dac83116f3aa42833839a6da084c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Hide EUDC font better when it is availableEskil Abrahamsen Blomfeldt2018-01-082-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In ff2ae36551b75b2c8a2d1f73e4d1e956b4eadb62 we added support for the End User Defined Characters font when it is available, and it was added as the first fallback font to avoid being overridden by a symbol font. An unintended side effect was that we would also override the default fonts for the selected style hint, so in e.g. the textedit example, all the text would default to EUDC. We now add it after the default style hint font instead. We also mark it as a private font family, since it should not be shown in the font combo box as a selectable font, but should only be used automatically as fallback for PUA characters. Task-number: QTBUG-65308 Change-Id: Id2ffd058a9f1d660cf2b9b1383ba1fdb10dcc97e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Cocoa: Make AA_MacDontSwapCtrlMeta workAndy Shaw2018-01-081-5/+15
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-22775 Task-number: QTBUG-51293 Change-Id: If615426001a1ea482f854f49cbae33ca1c954e9a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | QtCore: Raise minimum supported MSVC version to 2015Friedemann Kleint2018-01-0814-106/+23
| | | | | | | | | | | | | | | | | | | | | | | | Remove code for older versions and streamline #ifdefs. Task-number: QTBUG-51673 Change-Id: I211703189ff12f827d94914093369736b6e65d4a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Send NET_WM_SYNC on swapBuffers when using EGLDavid Edmundson2018-01-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user is using EGL on X, we need to reply to sync requests in the same way that we do in the GLX backend. Change-Id: I950de284685dc0ead896688c434828ab1b9c673f Reviewed-by: Aleix Pol Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | QMenuBar: Add overloads of addAction() using Qt 5 signals and slotsAnton Kudryavtsev2018-01-062-0/+62
| | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtWidgets][QMenuBar] Add overloads of addAction() using Qt 5 signals and slots Change-Id: Ief21974213b80111f0ca87df490eb72dd6b9c9b9 Reviewed-by: Martin Smith <martin.smith@qt.io>