summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QStyleSheetStyle: Fix (!a != b)Tobias Hunger2013-09-021-1/+1
| | | | | | | The '!' binds to a, so the comparison is not what is expected. Change-Id: I9192d16e901a9ba6dd13625be544cce6b2fd78c6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QDoc: Fix (!a == b) bugTobias Hunger2013-09-022-2/+2
| | | | | | | | | | This is (!a) == b which is not what is intended here. This exact bug was fixed in a couple of other instances of the QmlJSParser (in QtCreator and Qt itself) by now. Change-Id: I46a50153d7c349f21e0a888e2e3b4c4fa65c27c0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QDbus: Fix (!a == b) comparisonTobias Hunger2013-09-021-1/+1
| | | | | | | ! binds to a, and that is wrong here. Change-Id: I746d2b82bbd03635b3aa06abb0c5566f84a03128 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Revert Mac event loop changes.Morten Johan Sørvig2013-09-0217-401/+365
| | | | | | | | | | | | | | | "Make QGuiApplication::exec() run within NSApplicationMain()" "Make Qt process native and timer events on Cocoa applications" "Cocoa: Fix QFontDialog, QColorDialog auto-tests" This reverts commits 1e14762b8d79118540bd09a84dd3e48f4f5e113e e4b2a0b4bab2a17a65fedafe9bae50af1fe019f6 df7944e7d7dd8b2bbccbd639eff0ab09745d6cc3 Change-Id: I80b65b5ee0297b090f807bd420664233dfc44f7b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Graphicsview: Simplify codeTobias Hunger2013-09-021-4/+1
| | | | | | | | | order is either Ascending or Descending (0 or 1), so this comparison is unnecessary. Change-Id: Ieceacf18f1bf3c7a7555205a140b738daa92bd04 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix last warning of qtbase with GCC.Thiago Macieira2013-08-311-1/+1
| | | | | | | | qlistview.cpp:1836:6: error: unused parameter ‘step’ [-Werror=unused-parameter] Change-Id: I8c2d16bd794204adafcf2dc049c04601506e7734 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Improve QBitArray's construction performance a littleThiago Macieira2013-08-311-5/+4
| | | | | | | | Ask for an uninitialized byte array, since we're about to memset(3) it anyway. And don't overwrite the initial byte either. Change-Id: I2caa2ef395ad5684416e6cd336c0444de7787b5d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add a construction note on why QBitArray has a +1 everywhereThiago Macieira2013-08-311-0/+14
| | | | | | | | | It took me several minutes reading the code to figure out why it was there. It wasn't immediately obvious. Change-Id: Ic36b3fd24ce84a1b08c73986d3b7ab8a5bfff133 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix corner-case counting of bits in QBitArray::count(bool)Thiago Macieira2013-08-311-3/+3
| | | | | | | | | | | | | | | | | | | This actually looks very wrong. First, it would try to read bits for len == 0, which means it was actually reading the implicit NUL from QByteArray (so valgrind would never catch the error). Second, there was a corner case for testing the 8th bit (bit 7) in the last byte. For len == 8 or 16 at the beginning of the last loop, it would read bits[len / 8], which is again the implicit NUL from QByteArray. Compare to testBit (simplified): return d.constData()[1+(i>>3)] & (1 << (i & 7)) != 0; Task-number: QTBUG-11625 Change-Id: Idb361163de596b629cab42f2367ddd09456c2a98 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
* Remove workarounds to old GCC bugs we had encountered on IRIXThiago Macieira2013-08-312-30/+0
| | | | | | | | | | | | | The check is bogus anyway. It was bogus when it was added. The bug is not because of "GCC on IRIX", it's simply a GCC bug and was probably tied to some GCC versions. It should have been reported and followed up. I don't even remember what GCC versions we had on the IRIX machines (plastkrakk, I can't remember the other two machine names). But I could bet they were GCC 3.4 or 4.0. Change-Id: I84ce4e1ad68bb0520b63c210f841e0c604dbd03a Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* QPainter: Fix (!a == b) bugTobias Hunger2013-08-311-2/+2
| | | | | | | | The ! binds to a only, which is most likely wrong here. Change-Id: I4aa09407a8acc68f97bef474781193774e4a7597 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
* add QProcess::nullDevice()Oswald Buddenhagen2013-08-302-0/+29
| | | | | | Change-Id: I15273fa3f3ba323a835350153f2a20404f12420b Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTreeView - fix next focus when there is no current indexThorbjørn Martsum2013-08-301-2/+2
| | | | | | | | | | | | | | | | Before we went through non hidden indexes, but we never considered the visual order. This patch fixes that issue. Though it was wrong before, it probably never was a big problem since it was unlikely that the tree (on logical index 0) was swapped or hidden, but 658e42e77a00596b63823482c9b77644556b647c makes it more likely that problems with wrong focus could occur. Change-Id: Ic7b6cd2df1f8638be1a7c9e6df27f428685869fc Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* [2/2] Update bundled HarfBuzz-NG sources up to 0.9.20Konstantin Ritt2013-08-302-0/+5
| | | | | Change-Id: Ia8ef11fce9326ed708bf2972514b46b9d105ad9e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [1/2] Update bundled HarfBuzz-NG sources up to 0.9.20Konstantin Ritt2013-08-3018-440/+662
| | | | | Change-Id: I8649bbe608cb2f79c721c900c03fd0139a8c0cd1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix warning about class/struct mismatchTobias Hunger2013-08-301-2/+3
| | | | | | | Clang does not like this:-) Change-Id: I9c65025d99d31b5ef1314dadf90eef02d23eacb0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Doc: Enable documentation for QScopedPointer's rvalue ref functionsTopi Reinio2013-08-301-3/+1
| | | | | | | | | | Make the documented QScopedPointer functions that take rvalue references visible in the documentation. Task-number: QTBUG-32675 Change-Id: If65af91d9379a6c0486e43c33434cca8505fc5c3 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* qdoc: Enable support for rvalue references in function signaturesTopi Reinio2013-08-301-1/+5
| | | | | | | | | | | | | | | qdoc interprets the double-ampersand in function parameters using rvalue references (e.g. 'Type &&other') incorrectly as a logical AND operator, resulting in a syntax error. This change works around the issue by treating '&' the same as '*', and defining Q_COMPILER_RVALUE_REFS for qdoc. Task-number: QTBUG-32675 Change-Id: I499611f16f22c33ff5b878da0cd59d67ddf53d72 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Cocoa: Fix QFontDialog, QColorDialog auto-testsGabriel de Dietrich2013-08-295-8/+31
| | | | | | | | | | | | | The new Cocoa event dispatcher made apparent some deficiencies in the way the dialog helpers were being hidden. In particular, we would not stop a dialog helper's modal loop when closing the dialog, resulting in the auto-tests hanging. Also, since the QApplication event loop is runnig with [NSApp run] in the stack, the previous workarounds are no longer needed. Task-number: QTBUG-24321 Change-Id: Ifba713c286638d78a699c319a15683d09714f06f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Make Qt process native and timer events on Cocoa applicationsGabriel de Dietrich2013-08-291-10/+0
| | | | | | | | Since we don't spin any QEventLoop, we need to make sure events posted by the window system interface are processed. Change-Id: I0e7b541d86a7a14f2ecd3702e7cbdbdee9920859 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Make QGuiApplication::exec() run within NSApplicationMain()Gabriel de Dietrich2013-08-2912-347/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We follow the same pattern as for iOS and Windows ports, making sure the user's main() runs in a platform friendly environment. In this particular case, it means calling the user's main() during the call of NSApplicationMain(), and calling the user's main() function (renamed to qMain() as in Windows) after receiving NSApplicationDidFinishLaunchingNotification. In practice, this means that NSApp is running when qMain() is called, and therefore when QCoreApplication::exec() is called. For those command-line utilities running on QGuiApplication, or any deriving class, and that do not provide a bundle, we override the main bundle's dictionary and get NSApplicationMain() to run as usual. Added cocoa/cocoamain "subdir" to build libqtcocoamain.a (together with cocoa/cocoaplugin -- plugins/platforms/cocoa is made a subdirs project). This library is linked against all GUI Qt apps and provides the actual main() function. It also catches the launching NSApplication notifications, and calls the user's qMain() function. Note that this will happen in the same cases when the user's application will run with the Cocoa QPA plugin. Launch related code in QCocoaApplicationDelegate is moved to libqtcocoamain, QNSApplication is removed (but sendEvent: redirection still there), and code in QCocoaEventDispatcher dealing with calling [NSApp run] and related has been removed since it's become unreachable. ChangeLog: [Qt for Mac] Make QGuiApplication::exec() run within NSApplicationMain() Change-Id: I790e5138c29aac2e0215a9147d0148fece40ca22 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QFileDialog: add MIME Type filtersDavid Faure2013-08-295-0/+99
| | | | | | | | | | | | | | Currently just a convenience method for setNameFilters(), it uses QMimeType to create a name filter from the glob patterns and description defined in each MIME type. In the longer term, this API could be used to do proper mimetype-based filtering using QMimeDatabase::mimeTypeForFile() in the builtin QFileDialog (aka "not native"), instead of only looking at globs via the name filters. Change-Id: I0edccf5f30c514481b47cd100d743d1ed7a24024 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Port uic to QCommandLineParserDavid Faure2013-08-291-79/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ======= Qt User Interface Compiler version 5.2.0 Usage: uic [options] <uifile> -h, -help display this help and exit -v, -version display version -d, -dependencies display the dependencies -o <file> place the output into <file> -tr <func> use func() for i18n -p, -no-protection disable header protection -n, -no-implicit-includes disable generation of #include-directives for forms generated by uic3 -g <name> change generator After: ====== Usage: uic [options] [uifile] Qt User Interface Compiler version 5.2.0 Options: -h, --help Displays this help. -v, --version Displays version information. -d, --dependencies Display the dependencies. -o, --output <file> Place the output into <file> -p, --no-protection Disable header protection. -n, --no-implicit-includes Disable generation of #include-directives. --postfix <postfix> Postfix to add to all generated classnames. --tr, --translate <function> Use <function> for i18n. -g, --generator <java|cpp> Select generator. Arguments: [uifile] Input file (*.ui), otherwise stdin. Notes: * "-dependencies" etc. still work. * -n option still has effect, but technically not only for ui3 files * the fact that the <uifile> parameter is optional wasn't documented * -postfix option was undocumented * -translate alternative for -tr was undocumented The last two points show the benefit of using QCommandLineParser. Change-Id: Ie05cfb9bbe50f4ac2788aa7b6011b2daa1acde6a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Port rcc to QCommandLineParser.David Faure2013-08-291-98/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ======= Qt resource compiler Usage: rcc [options] <inputs> Options: -o file write output to file rather than stdout -name name create an external initialization function with name -threshold level threshold to consider compressing files -compress level compress input files by level -root path prefix resource access path with root path -no-compress disable all compression -binary output a binary file for use as a dynamic resource -namespace turn off namespace macros -project Output a resource file containing all files from the current directory -version display version -help display this information Undocumented: -verbose and -list ! After: ====== Usage: rcc [options] inputs Qt Resource Compiler version 5.2.0 Options: -h, --help Displays this help. -v, --version Displays version information. -o, --output <file> Write output to <file> rather than stdout. --name <name> Create an external initialization function with <name>. --root <path> Prefix resource access path with root path. --compress <level> Compress input files by <level>. --no-compress Disable all compression. --threshold <level> Threshold to consider compressing files. --binary Output a binary file for use as a dynamic resource. --namespace Turn off namespace macros. --verbose Enable verbose mode. --list Only list the files, do not generate code. --project Output a resource file containing all files from the current directory. Arguments: inputs Input files (*.qrc). Change-Id: If20958afd6c01df5d0d755e13e8581bc1cb9af51 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime - Extend fromMSecsSinceEpoch APIJohn Layt2013-08-292-10/+64
| | | | | | | | | | | | | | | | | | | | | Add convenience methods for fromMSecsSinceEpoch() and fromTime_t() to enable direct creation of other time specs than LocalTime without the overhead of unncessary conversions. For example instead of: QDateTime dt = fromMSecsSinceEpoch(12345).toUtc(); the following saves two conversions: QDateTime dt = fromMSecsSinceEpoch(12345, Qt:UTC); This will improve the performance of the new QTimeZone class. [ChangeLog][QtCore][QDateTime] Added convenience methods for fromMSecsSinceEpoch() and fromTime_t() to take time spec to be used in returned datetime. Change-Id: I133635bfe3d35ee496a287257e13b2d600225a38 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* QDateTime - Improve and expose Qt::OffsetFromUtcJohn Layt2013-08-285-151/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Qt::OffsetFromUtc TimeSpec was made public in Qt 4.4 but the access methods were never made public in the apidox effectively meaning the feature was never used. The implementation was also incomplete and inconsistent. This change cleans up the implementation and exports new public API for using the TimeSpec using new method names consistent with the new QTimeZone support. This change increases the QDataStream Version number for Qt 5.2 to 15. The behavior of one constructor has changed slightly to be consistent with the rest of the feature, but this behavior was never documented. [ChangeLog][QtCore][QDateTime] Fully implement support for Qt::TimeSpec of Qt::OffsetFromUTC, added new methods for offsetFromUTC(), toTimeSpec(), and toOffsetFromUTC(). Task-number: QTBUG-26161 Task-number: QTBUG-29666 Change-Id: If3cc7fc9778ca2b831644408ae749448d5975a3a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Remove Maliit input context.Robin Burchell2013-08-2812-1438/+1
| | | | | | | | | | | | Maliit upstream has its own IC which is more advanced than this one, as well as being supported. Change-Id: I4b820fc7f39468e53c113699c4c43c75d490f65b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Android: added ApplicationState capability.Yoann Lopes2013-08-288-0/+64
| | | | | | | | | | | | The application state is tied to the QtActivity lifecycle. Mapping of states between Android and Qt is as follows: onResume --> ApplicationActive onPause --> ApplicationInactive onStop --> ApplicationSuspended Change-Id: Iefef08d6c7a7fde28fba1f4886882458cda6a0c0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* QButtonGroup - add buttonToggled signalsThorbjørn Martsum2013-08-284-2/+39
| | | | | | | | | | | | | | | | QButtonGroup emits signals on clicked, pressed and released for buttons in the group, but for some (insuffienct) reason it did not emit anything for toggle (the only signal that it didn't emit anything for). This patch changes that, by adding handling of that signal to QButtonGroup. Task-number: QTBUG-14857 Change-Id: I88bcd7b060b78c7ff05ea1adf7baaddfe6d463be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add QCommandLineParser to the bootstrap libDavid Faure2013-08-281-0/+2
| | | | | Change-Id: I861758746eca954cf074893b0241fd66c2ff39d2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Enable DWM transparency for OpenGL windows under WindowsGiuseppe D'Angelo2013-08-285-0/+86
| | | | | | | | | | | | | | | | | | Starting with Windows Vista, we can control the compositing window manager using the DWM APIs. This allows us to make truly transparent OpenGL windows. We also have to detect and listen if compositing is enabled, otherwise enabling transparency will cause glitches all over the place. This (partially) fixes Task-number: QTBUG-28214 Change-Id: I0fe1ec7adec8181b788c32de03c59142731d9e7f Done-with: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Don't compare const_iterator with iterator.Stephen Kelly2013-08-271-2/+2
| | | | | | | | | Commit 93ffb81df6e2cdc57ac8f70c6578f132024d7117 introduced this bug. As it is in the header, it affects downstreams. Change-Id: I02e86927e648153ca7c0b66ac945a7f99cc4cd89 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add stripped version of HarfBuzz-NG 0.9.19 sources to 3rdpartyKonstantin Ritt2013-08-2784-0/+33805
| | | | | Change-Id: I06fbf58131ebce51ce95921d8dfd65dd3d3e236f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make it possible to build HarfBuzz-NG in QtKonstantin Ritt2013-08-2715-0/+148
| | | | | Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add operator[] to QVectorND classesSean Harmer2013-08-276-0/+102
| | | | | | Change-Id: Ia786d4fab64da974bb60f24c05325925d42a1e70 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add QJsonValue::toInt().Mitch Curtis2013-08-272-0/+15
| | | | | | | | | | | | | | | It's a nice feature to have. MSVC also complains about using doubles to create enum values, so the ugly workaround is: enumValue = MyEnum(qRound(json["myEnumValue"].toDouble())); [ChangeLog][QtCore][QJsonValue]Added QJsonValue::toInt(). Change-Id: I1a200b912abf66b2e96390b1980caff26cfa2685 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QMessageBox - move informative+details text to new layout functionThorbjørn Martsum2013-08-271-39/+47
| | | | | | | | Controlling the layout from different functions is not easy, so lets move it to the setupLayout function. Change-Id: I3120a2e98b2f8425befa135595d4ad7ce1b8ca56 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Move the creation of QElapsedTimer out of the inner function in QMutexThiago Macieira2013-08-271-21/+5
| | | | | | | Makes it possible for QElapsedTimer to be non-POD. Change-Id: I5ffc59c7a93c187a4a814e6959f8383fa8d4cc44 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Don't try to detect the CPUID instruction if we're compiling for PentiumThiago Macieira2013-08-271-1/+1
| | | | | | | | | | | | | | | | If we're compiling for Pentium or better CPUs, then we know that the CPUID instruction is present (I think it was introduced in late 486s, actually). So don't try to detect it. Simply assume it's there and then execute it. This means that if you compile Qt for Pentium (or higher) and run it on an i386 or i486, you'll get a SIGILL (or whatever your OS produces for an #UD processor exception). If the CPU detection code even got run -- SIGILL might happen for any other instructions found along the way. Change-Id: Iacd4a94a51363a609a61fc2bfd2e218fb290272d Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QAIV - Fix scollbars with ScrollPerPixel to scroll 1 pixel.Thorbjørn Lund Martsum2013-08-263-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation says that we scroll one pixel Quote: "QAbstractItemView::ScrollPerPixel (value 1)" "The view will scroll the contents one pixel at a time." However until now Qt has tried to be smarter than the documentation, but is actually getting in the way of the user, where a manual set value to setSingleStep will continuingly be overwritten (on e.g resize). This patch ensures the behavior described in the documentation for the vertical headers - and leaves the control to the user. [ChangeLog][QtWidgets][QAbstractItemView] QTBUG-7232 - In ItemViews scrollbars will now by default only scroll 1 pixel when scrollMode is set to scrollPerPixel. That is it will (when scrollMode is scrollPerPixel) do what is stated in the documentation, and no longer automatically adjust the scrollbars singleStep. The user can now control that value. Task-number: QTBUG-7232 Change-Id: I8a61d3100be65d0c4ee32aad58caed019aa2669c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* qdoc: Fixed the relative link to installdir problemMartin Smith2013-08-261-1/+2
| | | | | | | | | | | Instead of using the fake "outputdir" to force qdoc to generate a relative path to the actual output dir, it now uses the value of HTML.outputsubdir, or just "html" if HTML.outputsubdir is not specified. Task-number: QTBUG-32580 Change-Id: I45c79a788e102213e6d343a7ed108a3d17d94759 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Long live QCommandLineParser!David Faure2013-08-248-1/+1594
| | | | | | | | | | | | | | The QCommandLineParser class provides a means for handling the command line options. QCoreApplication provides the command-line arguments as a simple list of strings. QCommandLineParser provides the ability to define a set of options, parse the command-line arguments, and store which options have actually been used, as well as option values. Done-with: Laszlo Papp <lpapp@kde.org> Change-Id: Ic7bebc10b3f8d8dd06ad0f4bb897c51d566e3b7c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove use of QFlag in the SQL driversThiago Macieira2013-08-242-23/+23
| | | | | | | It's not clear why they were added, but they aren't needed anymore. Change-Id: I1d919deefdbd6a71fa255eeac1a8543c33ba390d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QLinkedList - fix insert with iterator when the list is shared.Thorbjørn Martsum2013-08-241-0/+3
| | | | | | | | Before a call to erase on a shared instance would imply that the item was inserted into the shared data (i.e all instances) Change-Id: I655ccf04b1ad9bf82e6bfade58929538fa7df000 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QList - fix insert with iterator on shared instanceThorbjørn Martsum2013-08-241-1/+5
| | | | | | | | This patch ensures correct detach when insert with an iterator is called on a shared instance (i.e same behavior as QVector) Change-Id: Id660eacd3cc7b633456dfa989997bbad747e1df2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLinkedList - fix erase with iterator when the list is shared.Thorbjørn Martsum2013-08-241-2/+32
| | | | | | | | | | | Before a call to erase on a shared instance would imply that the item was removed from the shared data (i.e all instances) This patch improves the behavior to detach and erase the item specified by the iterator (i.e same behavior as QVector) Change-Id: Ib3cfb5363c86b400886c80b75b0c20ca854ce801 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QList - fix QList::erase when the list is sharedThorbjørn Martsum2013-08-241-0/+15
| | | | | | | | | | | | Before calls to erase on a shared instance would in release mode imply that items were removed from the shared data (i.e all instances). In debug mode it would assert. This patch improves the behavior to detach and erase items specified by the iterator(s) (i.e same behavior as QVector) Change-Id: I89b69446cb1ffd43a98402b7ab1ec9a59bceb8e6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMap - fix erase with iterator when the map is sharedThorbjørn Martsum2013-08-241-0/+21
| | | | | | | | | | | Before a call to erase on a shared instance would imply that the item was removed from the shared data (i.e all instances) This patch improves the behavior to detach and erase the item specified by the iterator (i.e same behavior as QVector) Change-Id: Ia44db84fc1388d92308bf0d2b32539ac4d53850b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QHash/QSet - fix QHash::erase when the hash is sharedThorbjørn Martsum2013-08-241-0/+16
| | | | | | | | | | | | | Before a call to erase on a shared instance would imply that the item was removed from the shared data (i.e all instances) This patch improves the behavior to detach and erase the item specified by the iterator (i.e same behavior as QVector) Since QSet uses QHash it improves QSet the same way. Change-Id: I850b1efcf7bdfc85ceddb23128b048af95f75063 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix counting of waiting threadsDavid Faure2013-08-241-2/+8
| | | | | | | | | | | | | | | | | | QTBUG-21051 has a testcase where activeThreadCount() could actually end up at -1 (converted to an autotest in this commit). The reason was: start() calls tryStart() which returns false due to too many active threads (reserveThread() causes this), so it calls enqueueTask() - which actually wakes up the waiting thread, but it didn't decrement the number of waiting threads. Note that tryStart() is "if I can grab a waiting thread, enqueue task and wake it" while start(), in case tryStart() fails, wants to "enqueue, and then if I can grab a waiting thread, wake it". This is why enqueue shouldn't wake; waking must happen only if we can grab a thread (d->waitingThreads > 0). Task-number: QTBUG-21051 Change-Id: I3d98337103031c9bdf0bf365295f245be0c66aa7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>