summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
...
* | QVariant: Fix qIsNumericType(SChar)Thiago Macieira2014-11-201-1/+2
| | | | | | | | | | | | | | signed char is a numeric type Change-Id: I5cf9ed63cb7a2ba56c08119c77bcac0f9369b5df Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Fix asymmetry in QVariant::cmp when A converts to B but not the oppositeThiago Macieira2014-11-201-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This would result in (a == b) != (b == a). The == operation should be commutative as much as possible. Now, there's still an asymmetry in that b is forced to a type and the conversion may fail. QVariant should have an idea of what conversions are "promotion" and which ones are "demotion" (subject to loss of data and/or can fail), so it can do the promotion first Task-number: QTBUG-42254 Change-Id: I9fa4496bbbf0f8719ff8456cc24247290beac608 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Enhance precision of the FP conversion to strings in QVariantThiago Macieira2014-11-201-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This now guarantees that doing a round-trip from an FP number to string and back to number results in the same number. This change is required because DBL_DIG and FLT_DIG don't have the meaning that we were expecting them to, here: they mean the minimum number of digits of precision in decimal (i.e., changing the last decimal will always cause the FP number to change). We need the maximum number: there is one change in the last decimal place that causes the FP number to change. IEEE 754 single-precision has 24 binary digits and double precision has 53 binary digits in their mantissa. To convert that to decimal, multiply by the number of decimal digits a binary digit represents (log2(10) = 0.3), then add one for the rounding and one more digit for the actual precision we want. That is, for floats we now ask for 9 digits and for double, 17 decimal digits. Task-number: QTBUG-42574 Change-Id: Ic78beb60a218f75322f832d33d63fd84e7a65b65 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Remove unused private apiJędrzej Nowacki2014-11-191-14/+0
| | | | | | | | | | Change-Id: Iffe5a33b8a1f134d722371a9e92ba9c9d13c51f8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add debug output for QPlatformSurfaceEvent.Friedemann Kleint2014-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtGui][QPlatformSurfaceEvent] Added event class QPlatformSurfaceEvent, which is sent to QWindow and QOffscreenSurface when native surface is created or about to be destroyed. Task-number: QTBUG-42476 Task-number: QTBUG-42483 Change-Id: If62e2c2a1f2a94fd310bbf7cf22b94c70125ba7a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Send events when platform surfaces are created/about to be destroyedSean Harmer2014-11-172-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | These synchronously delivered events allow applications to correctly and conveniently handle native platform surfaces being destroyed. This is particularly useful when doing rendering on a non-gui thread as it allows to shutdown rendering before the native surface gets destroyed from under us. Task-number: QTBUG-42476 Task-number: QTBUG-42483 Change-Id: I63f41bbdb32f281d0f3b8ec2537eb2b0361f3bb3 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Reduce code bloat, by cleaning up QMetaTypeFunctionHelperJędrzej Nowacki2014-11-173-155/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create and Delete wrappers are not necessary, because they can be easily simulated with Construct and Destruct. This change removes redundant function wrappers and a bit of over-optimized code. Gain is quite big: Before: text data bss dec hex filename 5366008 47460 14904 5428372 52d494 libQt5Core.so.5.5.0 505578 7060 2124 514762 7daca libQt5DBus.so.5.5.0 5591079 134656 6728 5732463 57786f libQt5Gui.so.5.5.0 1398785 31676 2576 1433037 15ddcd libQt5Network.so.5.5.0 6642431 220952 2536 6865919 68c3ff libQt5Widgets.so.5.5.0 After: text data bss dec hex filename 5342559 47460 14904 5404923 5278fb libQt5Core.so.5.5.0 496025 7068 2124 505217 7b581 libQt5DBus.so.5.5.0 5579291 134272 6728 5720291 5748e3 libQt5Gui.so.5.5.0 1389461 31676 2576 1423713 15b961 libQt5Network.so.5.5.0 6637139 220952 2536 6860627 68af53 libQt5Widgets.so.5.5.0 Cost of the change, is moved to CPU while calling QMetaType create() and destroy(), these two functions became a bit slower. The cost should not be visible, because they call operator new anyway. Change-Id: I34fd410343377d9c29925675d7da8172bfda9ce6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Let QMetaType know which types are Q_GADGETOlivier Goffart2014-11-163-7/+38
| | | | | | | | | | | | | | | | | | This is required so we can take a QVariant and detect that it contains a Q_GADGET and then use method like QMetaType::metaObject and QMetaProperty::write with the QVariant::data Change-Id: I3603692e4e84426e10bf59949e3def3ea4947bec Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | qwindowsmime.cpp: support dropping multiple mail attachmentsDavid Faure2014-11-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only the data for the first file could be reached with the mimetype application/x-qt-windows-mime;value="FileContents" To get the data for the other files, setting the lindex field of the FORMATETC struct is necessary. Provide support for that by appending ;index=N to the mimetype string. The Windows API provides no generic way to find out how many of these are available (the app has to find out by looking into the FILEGROUPDESCRIPTORW structure, for this particular use case), so these additional mimetypes are not listed in QMimeData::formats(). However this patch extends the documentation to mention the feature. [ChangeLog][Platform Specific Changes][Windows][QMimeData] Add support for handling dropping of multiple mail attachments, adding ;index=N to the mimetype string application/x-qt-windows-mime;value="FileContents" Task-number: QTBUG-17373 Change-Id: I031e477d2357b4e5135d2dcd3e3cf991025715a5 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Fix QMetaType::metaObjectForType for QtGui and QtWidgets typesOlivier Goffart2014-11-031-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | Follow the same convention as other functions using the QMetaTypeSwitcher It was not a problem since none of the built-ins type in QtWidgets or QtGui were pointer and could not have a QMetaObject. But since we want to register the metaobject for Q_GADGET, it would fail compilation as types like QFont are not defined in QtCore. Change-Id: I6307bf6f25439ed48355ef7ecfa60575de318a25 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Make the empty Q_ASSERT still check its argument for validityThiago Macieira2014-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the side-effect that variables and functions in the argument are now "used". This means we don't need to #ifndef functions only used in assertions: the compiler will eliminate them by dead code elimination. Due to the mandatory short-circuiting of the condition, no functions will ever be called and this expands to no more code than before. On the negative side, because we won't get warnings for unused variables initialized outside the Q_ASSERT, non-inlineable calls will not be elminated by dead code elimination, so they will remain in release code without warnings. Because of the expanded code now in Q_ASSERT, the Intel compiler's optimizer gets thrown: it complains that the non-void function is failing to return anything, so I had to add two return statements. Change-Id: I1bb79c9637a2771ef1ec093f901b8d2443788bd6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Add QMetaType::type(QByteArray) functionKent Hansen2014-10-312-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaType::type(const char *) requires that the string argument is 0-terminated. This new overload makes it possible to query the type of a string with an explicit length. In particular, QByteArrays constructed by QByteArray::fromRawData(), for example from a substring of a normalized method signature (the "int" part of "mySlot(int"), can now be queried without making a copy of the string. Also, Qt5 meta-objects represent type names as QByteArray literals, which can be fed directly to this new QMetaType::type() overload (no need to call strlen). Change-Id: I60d35aa6bdc0f77e0997f98b0e30e12fd3d5e100 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make Q_INVOKABLE work on Q_GADGETOlivier Goffart2014-10-302-0/+134
| | | | | | | | | | | | | | | | Methods can be invoked with QMetaMethod::invokeOnGadget Change-Id: Id734868bb530b02587daf0f62bce01798ade2ac2 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Be able to read and write properties to Q_GADGETOlivier Goffart2014-10-302-0/+48
| | | | | | | | | | Change-Id: Ic12f465d31459748ca08ac8c457fd61a5773e2e2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | moc: Move the property access code to the qt_static_metacallOlivier Goffart2014-10-282-7/+26
| | | | | | | | | | | | | | | | | | That way we will be able to access property of objects that are not QObject (Q_GADGET) Change-Id: Ib8ef6e52fc621e0b0d6530f82b1aa205f1ed5fd9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | moc: Have a staticMetaCall in the Q_GADGET metaobjectOlivier Goffart2014-10-281-1/+2
| | | | | | | | | | | | | | This provides a way to invoke Q_INVOKABLE method Change-Id: I301cec2a21c2889fb9dde0b1eb6e92d0bd561bd7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-274-11/+35
|\| | | | | | | | | | | | | Conflicts: src/gui/text/qfontdatabase.cpp Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
| * Fix QVariant associative container conversion from built-in types.Jędrzej Nowacki2014-10-242-3/+18
| | | | | | | | | | | | Task-number: QTBUG-41403 Change-Id: I9dab0f9450cac11678eb6d20abd2dd08e86e0900 Reviewed-by: Stephen Kelly <steveire@gmail.com>
| * Doc: Fix description of QTranslator::translate()Kai Koehne2014-10-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | If the translations are incomplete it's actually not ensured that a translation without disambiguation is used: lrelease will drop the disambiguation from one of the identical messages if there is no message which actually has no disambiguation ... Task-number: QTBUG-30471 Change-Id: I1787f5c401a7afb964acbf8a8609ba328c8140a9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Q{Sequential,Associative}Iterable: fix const_iterator assignmentMarc Mutz2014-10-231-8/+12
| | | | | | | | | | | | | | | | | | The code didn't properly clean up the current state before assigning the new state. Change-Id: If56cf43bace976203ff186759b2a81705b2b22d2 Reviewed-by: Stephen Kelly <steveire@gmail.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | QObject: use QDebugStateSaver in the QDebug operator<<Olivier Goffart2014-10-241-3/+5
| | | | | | | | | | | | | | Also remove the ending space if the object is null Change-Id: Ieb2bb903de35b4e339c812cd07555b5d108d118b Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-204-38/+42
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * Android: Improve cache logic in findClass()Christian Strømme2014-10-171-30/+35
| | | | | | | | | | | | | | | | | | | | | | This change adds guards to ensure that we only do a class look-up once when calling QJNIEnvironmentPrivate::findClass(). IF someone calls findClass() with an environment that does not contain a "valid" class loader, we should fallback to loadClass(), but only once. Change-Id: If5fc82956db889f3269bb33c98a16c49cae55def Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * QWindowsGuiEventDispatcher: Register timers in constructor.Friedemann Kleint2014-10-152-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Port change 3716a76704273fdbe5ad4ec978438daeda606c26 (Qt 4) to Qt 5. Enforce the creation of the internal window and registering of timers in the event dispatcher constructor for GUI applications instead of delaying it to processEvents() is called. Move the call to virtual wakeUp() out of createInternalHwnd(). Task-number: QTBUG-40881 Change-Id: I82a4748897da140a39feff882c75ad5ac6155148 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix patching of installation dateKai Koehne2014-10-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Marking qt_eval_expiry_date alone as volatile apparently didn't stop the compiler from optimizing away the calculation of the expiry date. Task-number: QTBUG-41612 Change-Id: Ia51fb83f03250346952a76c8a1a641096b4ff9e7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kalle Viironen <kalle.viironen@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-092-5/+9
|\| | | | | | | Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
| * MSVC: Restore 'public' accessibility of QVariant member functions.Friedemann Kleint2014-10-071-1/+2
| | | | | | | | | | | | | | | | | | | | The were made 'protected' as a side effect of a change enabling support of template friends for MSVC. However, accessibility is part of the MSVC's name mangling and thus BC was broken. Task-number: QTBUG-41810 Change-Id: I5ce4c7010673c06d5b75219c89c7ebd337bac6c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Gabriel de Dietrich2014-10-011-2/+5
| |\
| | * Merge remote-tracking branch 'origin/5.3' into 5.4Gabriel de Dietrich2014-09-291-2/+5
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_unix.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I6f1aa320d5ca66cd92d601a95885aeaab0abb191
| | | * QObject: fix a memory leak in moveToThreadGiuseppe D'Angelo2014-09-221-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason it seems to be supported to call moveToThread(0). That call will allocate a new QThreadData for the object. However, if we then detect that we're calling moveToThread from a thread which is not the one the QObject has affinity with, we error out leaking that QThreadData object. Change-Id: I0fe6625a2a9887535e457f3897b514d2a03d1480 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * | | Doc: Use title case in section1 titlesNico Vertriest2014-09-301-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | Using Python script title-cased.py Task-number: QTBUG-41250 Change-Id: I00d3d7a0b30db7304a7904efd6d63abd9a7b493b Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | | QObject: Actually check unnormalized method signatureDaniel Teske2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was broken in f95181c7bb340744a0ce172e8c5a8fcdc2543297, and has been broken in all released versions of Qt5. Change-Id: Ia75ab602be4904cc6ab19471f909716538af8746 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-29112-2212/+1462
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/image/qimage.cpp src/gui/image/qppmhandler.cpp src/gui/kernel/qguiapplication.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
| * | Android: Add findClass() function to the QJNIEnvironmentPrivate class.Christian Strømme2014-09-262-48/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | The static QJNIEnvironmentPrivate::findClass() function exposes the cache and the class finding code in qjni. Change-Id: I42043dc993cf9cace042faf763f2a647ba79d97f Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
| * | Update license headers and add new license filesMatti Paaso2014-09-24111-2095/+1207
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * | Doc: Fixed autolink errors qtbase/kernelNico Vertriest2014-09-242-24/+23
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-40362 Change-Id: I54a1111e39fb7e85d34ea97b937d2764d29b27a0 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-09-246-7/+37
| |\ \
| | * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-236-7/+37
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | | * cocoa: don't override NSApplication-sendEvent if configured as ↵Tim Blechmann2014-09-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AA_MacPluginApplication Change-Id: I48cebbcb814ee8e97583c3165e7cb668077cfbad Task-number: QTBUG-40409 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | | * Add missing private headers warningSamuel Gaist2014-09-042-0/+22
| | | | | | | | | | | | | | | | | | | | Change-Id: I7a4dd22ea3bcebf4c3ec3ad731628fd8f3c247e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * Also print the class name in the QObject::killTimer error msg.Erik Verbruggen2014-08-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When no objectName is set, this will give at least some information, other than the memory address of the current instance. Change-Id: Iae452c0e9fe38f0aab35094ddf0edc0fd6b28c20 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | | * Android: Avoid caching the same class twice.Christian Strømme2014-08-261-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The class name scheme can be separated by '/' or '.', if both formats where used we would end-up caching those classes twice. Change-Id: I3ae69694d6a8616bbaadfb3c2d0717fbf9ccb9fc Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| | | * BlackBerry PlayBook build fixesSérgio Martins2014-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I32b232883bb29ca7305bca1da1df263f106ddd93 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * | | Improve checking for event/socket notifiers and timersJonathan Liu2014-09-239-34/+89
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting/stopping timers from another thread may result in errors that may not appear until hours, days or weeks after if a release build of Qt is used with the GLib/UNIX event dispatchers. Such errors may manifest as warnings such as "QObject::killTimer(): Error: timer id 7 is not valid for object 0x2a51b488 (), timer has not been killed" and application crashes (e.g. crashes in malloc, realloc and malloc_consolidate). Initial-patch-by: Eike Ziller <eike.ziller@digia.com> Task-number: QTBUG-40636 Change-Id: I2de50d50eb1fc7467fcebb9c73b74d2f85137933 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | QVariant::compare shouldn't return match when QVariant::cmp does notAllan Sandfeld Jensen2014-09-111-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the types doesn't match in QVariant::compare we do a comparison based on QString, this may end up indicating a full match, though the we don't match according to cmp. In this case it would be better if we preserved the non-matching to avoid breaking ordering. [ChangeLog][QtCore][QVariant] Fixed ordered comparison between QVariants that do not match but produce identical toString output. Task-number: QTBUG-40363 Change-Id: I84a8eca11e8875dba9948bde2906ae7c5aa35704 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * | Fix user defined conversions to numeric typesLars Knoll2014-09-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The old code was completely broken. It did dereference val for user types, but val does in this case only contain garbage. Instead use the pointer to the correct data. Change-Id: I20ccf0bfa3dd3774c787d08c51cc8dd7b1ec9a1a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * | Expose screen change event to widgets so that they can check the dprLaszlo Agocs2014-09-102-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike ordinary widgets, the ones that have OpenGL framebuffers must know about screen changes because the device pixel ratio may be different on the new screen. Add an internal event, ScreenChangeInternal, as the counterpart to WindowChangeInternal. Change-Id: I5e55999838e4c0284e7d9832299f7cc6b541ee3f Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | Use new, supported APIs in OS X 10.10 and iOS 8.0 to get the OS version.Jake Petroules2014-09-123-37/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | Gestalt is deprecated so we can't use it long term. At the same time, the new API is cross platform, so we'll no longer have to parse strings in -[UIDevice systemVersion] either. Change-Id: Ic81797174c1a3d50b47b9b209205a6a506cc75ef Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-102-3/+5
|\| | | | | | | | | | | Change-Id: Id4997327cc01bd4bb397a463bdffbd15e80398ef
| * | Fix typo in QMetaType documentation.Mitch Curtis2014-09-091-1/+1
| | | | | | | | | | | | | | | Change-Id: I934b68978fb32a518ed7cf9b47f1600982f58f66 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>