summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Android: Fix QTranslator testsEskil Abrahamsen Blomfeldt2015-01-063-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | Bundle test data in qrc on Android. Extract it, as the tests expect to find it in the file system. Change-Id: I251eca3c23141a608b1cbac5ee0b7164c068f9b4 Reviewed-by: BogDan Vatra <bogdan@kde.org>
| | * Android: Check XML output and optionally stop on fail.BogDan Vatra2015-01-061-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | The failures will be printed in red color. Use -f param to stop on fail. Change-Id: Ife58f9264a9ac859d739842c6d1359acde807ce7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| | * JPEG: Fix reading of EXIF orientation.Friedemann Kleint2015-01-062-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The orientation is unsigned short, read it as such. In JPEG-files created by Ricoh/Pentax cameras, the data is saved in Motorola format. Reading the wrong data size will produce invalid values when converting the byte order. Change-Id: I8f7c5dc5bfc10c02e090d3654aaefa047229a962 Task-number: QTBUG-43563 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| | * Don't bind to QHostAddress::Any if we want to do IPv4 multicast opsThiago Macieira2015-01-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Linux gracefully allows us to do that and treat the v6 socket as if it were v4. Other OS (notably OS X) aren't so forgiving. Change-Id: I13dd3274be2a4b13e8b1eef93cbc2dd17b648f96 Reviewed-by: Richard J. Moore <rich@kde.org>
| | * tst_QLockFile: simulate a crash betterMarc Mutz2015-01-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of leaking the QLockFile instance, which causes leak-checkers to emit false positives, simply call exit(), which doesn't run the destructors, yet doesn't lead to leak-checker warnings. Change-Id: Ia61010671e5218ae412e2bcf873e66255a2c5a99 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Autotest: Forward stderr of the sub-processesThiago Macieira2015-01-025-1/+4
| | | | | | | | | | | | | | | | | | | | | So we can get the output when running with QDBUS_DEBUG=1. Change-Id: I6a6b8e0d82727c522914fb90a7ce594c86307d8f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| | * Autotest: Be nicer when asking the sub-processes to exitThiago Macieira2015-01-028-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of killing them outright (and note that terminate() doesn't work on Windows), ask them nicely to exit on their own. This way, if we run them in valgrind, valgrind gets a chance to print the leak check output and summary. Change-Id: Ib6cc8d4560ff0bf255f94980eb220e97592c00f0 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| | * Added ROUND test for PostgreSQLIsrael Lins2014-12-301-13/+17
| | | | | | | | | | | | | | | | | | | | | The ROUND function for PostgreSQL only accept NUMERIC field as argument Change-Id: I0c3753bfe4167cd47158e21b407cca8771816104 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| | * [QDateTime] ISO Time zone designators can be [+-]HHIsrael Lins2014-12-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Added support on QDateTime::fromString to read correctly dates on ISO format with Time zone designators at format [+-]HH Change-Id: Ied5c3b7950aee3d0879af0e05398081395c18df5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| | * Added timezone support for datetime fields in PSQLJulien Blanc2014-12-302-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds correct timezone support in PSQL plugin. Prior to this patch, no timezone support was provided, so only the following case worked : * using local time in both client application and postgresql server * datetime were using second precision This patch tries to take care that postgresql has two different datatypes for date time, respectively : * timestamp with time zone * timestamp without time zone Both are internally stored as UTC values, but are not parsed the same. * timestamp with time zone assumes that there is a time zone information and will parse date time accordingly, and then, convert into UTC before storing them * timestamp without time zone assumes that there is no time zone information and will silently ignore any, unless the datetime is explicitly specified as having a time zone, in case it will convert it into UTC before storing it Both are retrieved as local time values, with the following difference * timestamp with time zone includes the timezone information (2014-02-12 10:20:12+0100 for example) * timestamp without time zone does not include it The patch does the following : * parse the date retrieved by postgresql server using QDateTime functions, which work correctly * always convert the date to UTC before giving it to postgresql * force time zone so that timezone information is taken into account by postgresql * also adds the milliseconds when storing QDateTime values The following configurations are tested to work : * client and server using same timezone, timestamp with or without tz * client and server using different timezone, timestamp with tz The following configuration will *not* work : * client and server using different timezones, timestamp without tz Because data will be converted to local time by the postgresql server, so when returned it will be different from what had been serialized. Prior to this patch, it gave the illusion to work because since TZ information was lost, time was stored as local time from postgresql. Lots of inconsistencies occurred, though, in case client tz changes... I don't expect this to be an issue since having different TZ in server and client and *not* handling this is a broken setup anyway. Almost based on changes proposed by julien.blanc@nmc-company.fr [ChangeLog][QtSql] Added timezone support for datetime fields in PSQL Task-number: QTBUG-36211 Change-Id: I5650a5ef60cb3f14f0ab619825612831c7e90c12 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | | Remove duplicated NAN/INF logic from tst_qstringAllan Sandfeld Jensen2015-01-211-72/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt already has solutions for cross platform isnan and isinf logic. We should use that instead of duplicating it. This should also fix compiling tst_qstring on MinGW with C++11. Change-Id: I7b691fd47701a8f07e1a1fe08a95a0aca43ccca1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QSslEllipticCurve: add fromLongNameGiuseppe D'Angelo2015-01-211-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | Since the conversion to a long name was already there, also support creation from a long name. Change-Id: Iad712db7447fb0a0a18f600b7db54da5b5b87154 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Introduce helper for QML to allow creating QWidget hierarchiesSimon Hausmann2015-01-201-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 1259c5768e410361bcd8b5cf0c2057a2ebabda83 in qtdeclarative removed the ability to create QWidgets in QML by giving them the correct parent, which requires calling QWidget::setParent instead of QObject::setParent. This patch introduces a hook that will allow QtQml to give widgets a proper parent. Change-Id: I84c57ca5032582c43e405219343d55ac9cf2ffa0 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | | QIODevice: remove ineffective caching membersAlex Trotsenko2015-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the QIODevice functions already have a locally cached "sequential" flag. Make the rest of them follow this strategy. This eliminates the need to use private caching members. Change-Id: I0edb2c9b7c5f411c5bee25c425e7b40e3c9021d3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk@theqtcompany.com>
* | | QHeaderView: fix restoring Qt4 state.Arnaud Bienner2015-01-201-0/+31
|/ / | | | | | | | | | | | | | | When multiple sections were grouped together, sectionItem.size was the total size of grouped sections, not the size of one section. Task-number: QTBUG-40462 Change-Id: I401a1583dd30880ccf5b4c105a237d6563f212e8 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Add qHash() overload for QSetMarc Mutz2015-01-181-0/+45
| | | | | | | | | | | | | | | | | | ...using qHashRangeCommutative(). Also add a test. [ChangeLog][QtCore][QSet] Can now be used as the key in QSet, QHash. Change-Id: Ie7c81d257a3b324fc03d394fa7c9fcf0c6fb062a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add elliptic curve support to QSslAndré Klitzing2015-01-1814-3/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add possibility to get length and other information of EC based certificates. Also it is possible to parse those public/private keys from PEM and DER encoded files. Based on patch by Remco Bloemen [ChangeLog][QtNetwork][SSL/TLS support] It is now possible to parse elliptic curve certificates. Change-Id: I4b11f726296aecda89c3cbd195d7c817ae6fc47b Task-number: QTBUG-18972 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix assorted MSVC warnings in tests.Friedemann Kleint2015-01-1710-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_collections.cpp tst_collections.cpp(3138) : warning C4305: 'argument' : truncation from 'size_t' to 'bool' tst_collections.cpp(3190) : see reference to function template instantiation 'void testContainerTypedefs<QVector<int>>(Container)' being compiled with[Container=QVector<int>] (repeated) tst_qringbuffer.cpp(297) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data tst_qringbuffer.cpp(300) : warning C4309: '=' : truncation of constant value tst_qringbuffer.cpp(306) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data tst_qrawfont.cpp(947) : warning C4309: 'argument' : truncation of constant value tst_qsslsocket_onDemandCertificates_member.cpp(217) : warning C4189: 'rootCertLoadingAllowed' : local variable is initialized but not referenced Change-Id: I6143d4ad121088a0d5bdd6dd2637eb3641a26096 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | tst_qitemdelegate: remove more duplication.David Faure2015-01-171-12/+1
| | | | | | | | | | | | | | Makes it easier to add new tests. Change-Id: I5c2bca60e125259eac83a03860e60ca85b51db24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | tst_QSizePolicy::getSetCheck: separate data generation from testMarc Mutz2015-01-171-9/+68
| | | | | | | | | | | | | | | | | | | | This is in preparation of adding more tests. It makes the test run longer, because of the additional book-keeping, but if something goes wrong, it can pinpoint the circumstances better. Change-Id: I4be68fcfbffe48e8609b722ea551b1f7c36790a9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix qaccessibilitymac test (title vs. description)Boris Dušek2015-01-171-3/+7
| | | | | | | | | | | | | | | | | | | | We tested button's AXDescription, which is however used only for non-textual buttons (e.g. buttons with an icon and without a visible text). On the other hand, button's visible text (which is our case) is exposed in AXTitle (and not in AXDescription). Change-Id: Ie89c758cf94b72ade3a440561c5f3df61a4c4612 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | QSortFilterProxyModel: fix a regressionGiuseppe D'Angelo2015-01-171-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bec1854cc023fb705319c582a636d5f484adafcc introduced a regression: when sorting a tree model, children items would not follow the sorted parents any more (they wouldn't be remapped correctly), resulting in crashes. So, the fix needs more reasoning; let's revert the fix, but leave the original test around for any subsequent attempt, and introduce a new test which looks for the right behavior when sorting trees. This commit partially reverts bec1854cc023fb705319c582a636d5f484adafcc. Task-number: QTBUG-43827 Change-Id: Ic83ac53aef639f870f6c36a8b4b2992f5b485b13 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Volker Krause <volker.krause@kdab.com>
* | QProgressDialog: don't require setValue(0) to be called.David Faure2015-01-171-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) everyone forgets to do so (proof: tst_qnetworkaccessmanager_and_qprogressdialog.cpp forgot too, which led to a valgrind warning, the elapsed timer was never started) 2) setValue(0) makes no sense if the progress dialog goes from 50 to 60, or any other non-zero minimum value. Fixed by starting the timer in the constructor (most code doesn't reuse progress dialogs, so this fixes the most common case), and by also starting the timer when calling setValue(minimum()) for well-behaved dialogs. setValue(0) special case kept for compatibility. Task-number: QTBUG-17427 Task-number: QTBUG-25316 [ChangeLog][Important Behavior Changes][QProgressDialog] The timer for estimating the duration of the progress dialog is now started in the constructor and in setValue(minimum()), as well as when calling setValue(0), as previously documented. Done-with: Marc Mutz <marc.mutz@kdab.com> Change-Id: Ia8f7fc677438749191b99074fc334eab652ea36f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Make transparency test actually test transparencyLaszlo Agocs2015-01-161-1/+1
| | | | | | | | | | | | | | | | The OpenGL windows should have some more obvious transparent areas in them. Change-Id: I7d000cd367208f99a79b11c341bf94062613f357 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | qtest_widgets.h: add support for pretty-printing QSizePolicyMarc Mutz2015-01-161-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... in QCOMPAREs. The implementation is hidden in a nested Internal namespace that retrieves the strings without strdup()ing. That makes it easier to compose these functions as there is no need to delete character arrays when using them. The public interface (which qstrdup()s) is implemented on top of these. [ChangeLog][QtTest] QCOMPARE now pretty-prints QSizePolicy{,::Policy,::ControlType{,s}}. Change-Id: Ib03d969847e5a12474c71a7921366b400025f680 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Update QFileSelector to use QSysInfo betterThiago Macieira2015-01-167-10/+37
| | | | | | | | | | | | | | | | | | | | This reduces a bit of string duplication by relying on the constants defined in qglobal.cpp and detection via uname(2), in addition to adding the Linux distribution name as a selector. Change-Id: I64a46a0fc552c399db787125b1b32aae5c50056f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | Fix compilation of manual Open GL tests with Dynamic GL.Friedemann Kleint2015-01-152-7/+10
| | | | | | | | | | Change-Id: Iffd57f26dfc9d6a00cab855270207fc4da7eb1ab Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Haiku: Fix compilation of qarraydata unit testTobias Koenig2015-01-141-1/+1
| | | | | | | | | | | | | | | | | | On Haiku the compilation failed with error: "undefined reference to 'bool QTest::qCompare<unsigned long, unsigned int> (unsigned long const&, unsigned int const&, char const*, char const*, char const*, int)'" Change-Id: I0daf2e6029898cb6c3d7da9d603aa1ea533aa829 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Haiku: Make remaining auto tests compile on HaikuTobias Koenig2015-01-147-7/+7
| | | | | | | | | | | | Change-Id: I369b988b8c7d441ebc912298a81d3d82ec19df8c Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QComboBox: make setModel reset the root model indexGiuseppe D'Angelo2015-01-131-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | When changing models it makes no sense to keep the old root model index, pointing into a possibly deleted model. Reset it to the root of the new model is the best line of action. [ChangeLog][QtWidgets][QComboBox] QComboBox will now reset its root model index when a new model is set on it. Task-number: QTBUG-43350 Change-Id: I113d558ce19fcaed31f13abfbedc7a24302e28d7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Introduce Q_ENUM and Q_FLAG macrosOlivier Goffart2015-01-137-33/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In replacement for Q_ENUMS and Q_FLAGS. Q_ENUM(Foo) has to be put after the declaration of Foo in an object. It will tell moc to include the enum in the meta object (just like Q_ENUMS) and will allow templated code to get the metaobject for that enum. Will be used by QDebug and QMetaType Change-Id: Iefaf8ae07dc0359828102bf384809346629b3e23 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Extend selections in QGraphicsView when selection extension key downAndy Maloney2015-01-132-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user has some objects selected and holds down the "extend selection" key (Control on Windows, Command on Mac OS X), clicking and dragging a rubber band selection deselects the current selection. This is counter-intuitive and confusing for users. This commit fixes the behavior so users can extend selections using the rubber band when the proper key is held down. Task-number: QTBUG-6523 Change-Id: Ieda4aaa50adb351c0405f5cb8aae23332eec58a9 Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
* | Remove unnecessary call to strlenJędrzej Nowacki2015-01-131-1/+0
| | | | | | | | | | | | | | The call was invalid from C99 perspective. Change-Id: Ie07310735736eddf5eb0e142297e56164fde7fe4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Support QMetaType::equals()Alex Blasche2015-01-131-0/+90
| | | | | | | | | | | | | | | | This avoids having to define operator< for types where operator== is required but operator< doesn't make any sense (e.g. QGeoCoordinate). Change-Id: I81f6a9d8fc0009a4514c974b5e02b446c50d1e31 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | QNX: Enable QSharedMemory and QSystemSemaphore support.Rafael Roquetto2015-01-131-1/+1
| | | | | | | | | | | | | | | | | | Commit 96995db4af6e1f5e9fe313 implements the necessary bits for this to work under QNX. Change-Id: Ie9e2f421f4f27fcaf40697dd363e9ed047754f0d Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | moc: Don't link to inexistent parent staticMetaObjectGabriel de Dietrich2015-01-134-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | Contrarily to Q_OBJECTs, Q_GADGETs are not guaranteed to descend from a Q_GADGET. Here, we ensure that if the first superclass is a Q_GADGET, then the derived class will be treated as one. This allows gaps in the Q_GADGET hierarchy while preventing from trying to link to the inexistent staticMetaObject if there's no such ancestor. Change-Id: If10fb952e23655102a425bb18fe8babaf447a47f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Do the same for qDebug of QByteArray and QLatin1StringThiago Macieira2015-01-111-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QLatin1String are actually Unicode, so print them with \uXXXX sequences. QByteArray are binary (arbitrary), so print as hex. Since hex escape sequences in C are not limited in length (\x00000F is a valid hex sequence), we need to insert "" if the next character is a valid hex digit. [ChangeLog][QtCore][QDebug] Similarly, printing of QByteArrays whenever "noquote" is not active now prints the arrays in a format consumable in C++, with all non-printable characters printed in hex escape sequences. Change-Id: Ibd0c1a97cbac98610c65c1091bfbcf5581c835db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | QDebug: pretty-print QStrings and QStringRefsThiago Macieira2015-01-114-4/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QDebug] Printing of QStrings and QStringRefs whenever "noquote" is not active now prints the strings in a format that can be copied back to C++ code. All characters that aren't printable in US-ASCII are escaped (this includes printable Unicode characters outside of US-ASCII). Pretty-printing will not respect QTextFormat padding or field widths. Change-Id: I169a8a0508e24693f5652f0129defe7f709e5d08 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add QtInfoMsgKai Koehne2015-01-099-19/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an 'info' message type that can be used for messages that are neither warnings (QtWarningMsg), nor for debugging only (QtDebugMsg). This is useful mainly for applications that do not have to adhere to the 'do not print anything by default' paradigm that we have for the Qt libraries itself. [ChangeLog][QtCore][Logging] QtInfoMsg got added as a new QtMsgType. Use the new qInfo(), qCInfo() macros to log to it. Change-Id: I810995d63de46c41a9a99a34d37c0d417fa87a05 Reviewed-by: Jason McDonald <macadder1@gmail.com>
* | QStandardPaths: add AppConfigLocation.David Faure2015-01-091-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ConfigLocation was erroneously inconsistent, by adding the org name and app name on Windows (unintentionally) and not on Unix (while having subdirs in ~/.config is actually common practice for some XDG desktops) Therefore this adds AppConfigLocation, which always has the org name and app name (while GenericConfigLocation never does). [ChangeLog][QtCore][QStandardPaths] Added QStandardPaths::AppConfigLocation, for application-specific configuration directory. ConfigLocation was inconsistent. Task-number: QTBUG-38872 Task-number: QTBUG-38845 Change-Id: I80fb98f296436261f3996c9df87571c29b06ab35 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add qHashRange and qHashRangeCommutativeMarc Mutz2015-01-091-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qHashRange() takes an (input iterator) range and hashes each element, combining the hash values using the hash combiner from Boost/N1837 with the magic number 0x9e3779b9, as described here: http://stackoverflow.com/questions/4948780/magic-number-in-boosthash-combine qHashRangeCommutative() does the same but with a cummutative combiner (unsigned addition) to create hash values that are order-independent, e.g. for hashed containers. The obvious combiner, XOR, is a bad one because it eliminates duplicate elements. Signed addition cannot be used, since signed overflow leads to undefined behavior. [ChangeLog][QtCore] Added qHashRange() and qHashRangeCommutative() functions to aid implementing qHash() overloads for custom types. Change-Id: I3c2bbc9ce4bd0455262a70e0cf248486525e534f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add POSIX IPC support to QSystemSemaphore and QSharedMemoryTobias Koenig2015-01-093-8/+21
| | | | | | | | | | | | | | | | | | This patch is a forward-port from 4.8 branch (d869e1ad4b0007757e97046609de2097cd9e9c5d). Change-Id: I6ae36a5417d1176fbecf775668f6033b1cb22a94 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add support for printing the real thread ID with QT_MESSAGE_PATTERNThiago Macieira2015-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | %{threadid} should have been %{qthreadptr} but we forgot to make the change for Qt 5.4. So do it now. [ChangeLog][QtCore][Logging framework] %{threadid} now prints the real thread ID. On Linux, OS X, iOS, FreeBSD and Windows, the value is unique system-wide. On other systems, it will print something that may be process-specific (the value of pthread_self(3)). To print the pointer to QThread::current(), use %{qthreadptr}. Change-Id: Ie383ff864a11966cf5d095b966a30ace65d34ee6 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | tst_QWidget: include QTest, not QtTestGiuseppe D'Angelo2015-01-061-1/+2
| | | | | | | | | | | | | | | | ... which is the module-wide include, bringing in the entire QtCore. Change-Id: I5cd872efa4562917fc4e3850809cb7595710c43a Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Remove the old QDBusConnection::sender functionalityThiago Macieira2015-01-061-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This has been deprecated since QDBusContext was introduced (Qt 4.3). So it's time to remove the functionality. [ChangeLog][Important Behavior Change] QDBusConnection::sender() (deprecated since Qt 4.3) has changed to always return an invalid QDBusConnection. To know what connection the incoming call was received from, use QDBusContext. Change-Id: I355efb82c14e54ed718c8f892d8267e727b19118 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | Fix QFileSystemWatcher::directoryChanged docs/testCory Bloor2015-01-051-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFileSystemWatcher does not signal directoryChanged() when files are modified in a watched directory. QTBUG-8945 was closed with the decision that it should not signal. Updating the docs and tests to reflect this fact. The test code that is being changed is a partial revert of Qt4 commit 1428cc6d71a65c1ac7123c9c4cc3cfaf225cceed. It appears that Symbian supported directoryChanged() on modification, hence why the check was for 0 or 1. Change-Id: I04320c68f227ca338ce65e525956ee201fd50699 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | tst_QHash: Factor qHash()-related test cases into a separate testMarc Mutz2015-01-055-101/+160
| | | | | | | | | | | | | | This is in preparation of adding more qHash()-related tests. Change-Id: Iae65bf8b123e1d6ac6d1eb34d74ba4eb9df8173c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | tst_QSet: add a non-trivial test for op==Marc Mutz2015-01-051-0/+10
| | | | | | | | | | Change-Id: Id42b2361e8741ee0d719fd52885a2d6dfdf6a634 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Add annotation to rename methods created by qdbusxml2cppDavid Edmundson2015-01-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under DBus it is possible to have methods and signals with the same name or have methods which are reserved c++ keywords. For example the logind session interface has a signal and method both called Lock. This patch allows generated methods to use a different method name specified in the annotation that the original DBus name in the DBus interface in a similar manner to how one can rename accessors. [ChangeLog][QtDBus] Add annotation org.qtproject.QtDBus.MethodName to allow autogenerating C++ methods with different names to the original DBus method Change-Id: I08bbe77554fbdd348e93f82d45bab0d75d360c27 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QItemDelegate: let QTextEdit and QPlainTextEdit receive tab keypressesGiuseppe D'Angelo2015-01-042-5/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already let enter/return key presses to reach text edits instead of closing the editor. Do the same for tab/backtabs. [ChangeLog][QtWidgets][Important behavior changes] QItemDelegate will now not close a QTextEdit/QPlainTextEdit editor when the tab key is pressed; instead, the key will reach the editor. Task-number: QTBUG-3305 Change-Id: Ife9e6fdc5678535c596d1068770b0963134d8d5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>