summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix building with QT_NO_LIBRARYUlf Hermann2015-09-305-3/+22
| | | | | | | | | | If QT_NO_LIBRARY isn't set we cannot test QCoreApplication's library path functions and none of the plugin and library related tests are applicable. Also, examples that rely on dynamic plugin loading for their core functionality obviously don't work. Change-Id: I2d381ee1bc8d944e1181557895a7e92a364fd778 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Implement support for 'none' value for list-style CSS propertyDan Vrátil2015-09-301-0/+3
| | | | | | | | | | 'none' is a valid value specified in CSS standard. In combination with '-qt-list-indent: 0' it allows for using lists in Qt for better structuring text Change-Id: I1dd324a3ea81b26e21a9d4d9f93ef9b5edcf3e93 Task-number: QTBUG-6501 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Allow to minimize frameless MDI subwindowsSerge Lysenko2015-09-302-3/+3
| | | | | | | | | | | | It is possible to create a frameless QMdiSubWindow to customize its title, but currently we can not minimize it because it disappears in result. This fix turn on minimizing of frameless MDI subwindows and exclude hiding of base widget in this case, so we can display shaded window correctly. Change-Id: I62c417b24e8528cf033fe5edce163d2eb46a4994 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Copy type of QVertexIndexVector during assignmentMathias Hasselmann2015-09-301-0/+1
| | | | | | Task-number: QTBUG-48452 Change-Id: Ia7ccd5a4599266e7d3a92332004ae3ac79d8de94 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Fix indenting for QVertexIndexVector::operator=()Mathias Hasselmann2015-09-291-5/+5
| | | | | Change-Id: I8a76510a93866d7e8931174082e2eee5d051cfac Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Avoid unnecessary setParent(0) in QMdiSubWindow::removeBaseWidget()Serge Lysenko2015-09-292-1/+25
| | | | | | | | | QMdiSubWindow should not reset parent of base widget if it has been already changed before. Task-number: QTBUG-47993 Change-Id: I43e3a28481e9ba3026a93850a8cc1246a359852a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix building with QT_NO_IMUlf Hermann2015-09-281-0/+2
| | | | | Change-Id: Ibb5248d6392f6746dcdf398361bd38f9e98a7eb7 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Cocoa integration - re-parent NSView correctlyTimur Pocheptsov2015-09-261-0/+3
| | | | | | | | | If we add some view as a child into another view, make sure it's removed from the previous superview. Change-Id: I8c9f373907ded8e3ff75b1f2357401b308628125 Task-number: QTBUG-42059 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* Cocoa integration - do not make a window key during modal sessionTimur Pocheptsov2015-09-261-1/+10
| | | | | | | | | | | It can happen that we create a new window and make it visible during a modal session. In this case making a window into the new key window looks quite strange and misleading - since we're in a modal session, this window is completely inactive/useless. Use orderFront instead. Change-Id: Ic091e263508b452be4b5adf799a06017b044e441 Task-number: QTBUG-46304 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Save one full iteration and memory allocation with std::find()Sérgio Martins2015-09-251-1/+2
| | | | | Change-Id: Ia7c39e4d18ece02331df6ca6e50191a12b5d8cbf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: Report the SSE and AVX list like AVX512Thiago Macieira2015-09-252-10/+23
| | | | | Change-Id: I42e7ef1a481840699a8dffff1404fade9e7ac923 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* configure: Add support for detecting AVX512 instructionsThiago Macieira2015-09-2511-0/+257
| | | | | | | | | | | | | | | | | Tested on Linux with Clang 3.7, GCC 4.9, 5.1 and 6.0, ICC 16 beta; on OS X with Clang-XCode 6.4, ICC 16 beta; on Windows with MSVC 2013 and ICC 15. MinGW is not tested. GCC 4.9: AVX512F AVX512ER AVX512CD AVX512PF GCC 5 & 6: AVX512F AVX512ER AVX512CD AVX512PF AVX512DQ AVX512BW AVX512VL AVX512IFMA AVX512VBMI Clang 3.7: AVX512F AVX512ER AVX512CD Clang-XCode: <none> ICC 15 & 16: AVX512F AVX512ER AVX512CD AVX512PF AVX512DQ AVX512BW AVX512VL MSVC 2013: <none> Change-Id: Ib306f8f647014b399b87ffff13f1da1b161c31d7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: append any unknown compileTest arguments to the qmake command-lineThiago Macieira2015-09-251-2/+5
| | | | | | | This allows setting of variables, like FOO=bar. Change-Id: Ib306f8f647014b399b87ffff13f1d9e6a10fa2f8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-09-25547-7987/+10454
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/io.pri src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/network/socket/qabstractsocket.cpp src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/widgets/styles/qgtkstyle.cpp tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro tests/auto/dbus/qdbusconnection/qdbusconnection.pro tests/auto/dbus/qdbuspendingcall/tst_qdbuspendingcall.cpp tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp Change-Id: I347549a024eb5bfa986699e0a11f96cc55c797a7
| * xcb: fix touchscreen input with certain capabilities onlyWolfgang Bremer2015-09-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | Touch screens without the "Abs MT Position X" but "Abs X" capability weren't detected correctly so far. This patch fixes the detection and enables these tochscreens. Change-Id: I32fdb4d56c106717c90904a6632c2838bd55a255 Task-number: QTBUG-48279 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Cocoa: Don't send duplicate close events.Morten Johan Sørvig2015-09-251-6/+2
| | | | | | | | | | | | | | | | | | Use the presence of a platform window to detect if the QWindow has already been closed. Change-Id: Ieedf231cc5b805ed6383e55a82ca137087805a4f Task-number: QTBUG-43344 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * qdoc: Fix write to invalid memoryTopi Reinio2015-09-251-4/+12
| | | | | | | | | | | | | | | | | | | | Before deleting the children of an Aggregate, we must clear its internal collections first. This prevents removeChild() (called from ~Node) from accessing already deleted siblings. Change-Id: Ic657b1d57fe4c766daa2bd4b791c3840099de709 Task-number: QTBUG-47751 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * tools: StringBuilder - silence clang warningTim Blechmann2015-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] a.resize(it - a.constData()); ~ ~~~^~~~~~~~~~~~~~~ Change-Id: I8c199d69f2e0d41d1c288d452b9d621b201fa98e Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Fix deadlock on disconnectNotify() called from ~QObjectThiago Macieira2015-09-253-13/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, disconnectNotify() is called at the end of QObject::disconnect and all the locks have been dropped. That is not the case for the QObject destructor, so we need to deal with the fact that it there may be some locks held. I didn't catch this issue during testing because it depends on the pointer addresses of the object being destroyed and that of the QDBusAbstractInterface sender object, as we use one global, non- recursive mutex pool. For the same reason, this patch is not testable. The fix is simple: we don't need to remove the relay rules immediately. It's ok for them to happen later, since the worst case scenario is that we'll receive a few more signals than we have objects to deliver them to. If that happens, we'll do a little more work than we have to. But in the normal case, the amount of work is the same and we get the benefit of returning more quickly from the destructor. What's more, if the QDBusAbstractInterface object also gets destroyed, the events are deleted and QDBusConnectionPrivate will clean everything up. Task-number: QTBUG-48410 Change-Id: I42e7ef1a481840699a8dffff1406b789ba5217b3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Use a power of two division factorAllan Sandfeld Jensen2015-09-241-1/+1
| | | | | | | | | | | | | | | | | | Using a power of 2 instead of power of 10 means the result of the division can be accurately represented as a floating point instead of being an approximation that could lead to rounding errors. Change-Id: I8910c06113ec6b69c60ff95d59894bfb56133186 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * xcb: fix yet another crash when screens are disconnectedShawn Rutledge2015-09-241-2/+4
| | | | | | | | | | | | | | | | | | Can't assume that m_screens is not an empty list. Task-number: QTBUG-42985 Change-Id: I6f9422638c219123dc898813910d03c7afbd1450 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * QScreen manual test: don't crash when a QScreen is nullShawn Rutledge2015-09-241-4/+13
| | | | | | | | | | | | | | | | Need to survive having screens detached/reattached on X11. Task-number: QTBUG-42985 Change-Id: I81cf9721f0cb61a29180c60d44d588063266e651 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * xcb: get Genius/Waltop tablets working againShawn Rutledge2015-09-241-0/+6
| | | | | | | | | | | | | | | | It was working at some point, but not in 5.5.0. Task-number: QTBUG-48370 Change-Id: I8a0e09d4dfa9ace3d69c10c5f88129958d226a9a Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Print one warning for the new high DPI variables, not fourThiago Macieira2015-09-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For people with non-empty QT_MESSAGE_PATTERNS, the multiple lines would be unreadable. This is what it showed for me when starting Qt Creator: [1442136.587] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: [1442136.592] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-screen factors. [1442136.592] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): QT_SCREEN_SCALE_FACTORS to set per-screen factors. [1442136.593] qtcreator(82762 82762)(?libQt5Gui.so.5?|QGuiApplicationPrivate::createPlatformIntegration|QGuiApplicationPrivate::createEventDispatcher|QCoreApplication::init|QCoreApplication::QCoreApplication|QGuiApplication::QGuiApplication|QApplication::QApplication|?qtcreator?|?qtcreator?|__libc_start_main): QT_SCALE_FACTOR to set the application global scale factor. (and imagine it line-broken in a terminal 140 columns wide) Change-Id: I42e7ef1a481840699a8dffff1406f73dc4d44a41 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * QtDBus: update debugging info (QDBUS_DEBUG=1)Thiago Macieira2015-09-241-10/+4
| | | | | | | | | | Change-Id: I9a75ad8521ae4e5cbbe5ffff13d1a740643ec22e Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * Use QTypeInfo<T>::isRelocatable in QVariantThiago Macieira2015-09-243-5/+5
| | | | | | | | | | Change-Id: Ib306f8f647014b399b87ffff13f1f01c40dc3ef7 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Use QMAKE_MOD_LEX/QMAKE_MOD_YACC in lex/yacc featuresAndrew Knight2015-09-242-7/+7
| | | | | | | | | | | | | | | | These variables were defined but never used in the respective qmake features. Utilizing them allows more control over the output file name. Change-Id: I5ba96c5cd330b18dc060f563186992fe3bd27b49 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Build ANGLE dynamically under static builds which have dynamic GL enabledAndrew Knight2015-09-241-0/+6
| | | | | | | | | | | | | | | | Task-number: QTBUG-46814 Change-Id: I8108bcd6f8badbb135f593dcf280470e03b11bff Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Fix up QOpenGLWidget transparency supportLaszlo Agocs2015-09-244-17/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glColorMask call was troublesome. In addition, the Qt::WA_TranslucentBackground was misinterpreted and recommended misleadingly in the documentation. The hellogl2 example's --transparent argument was disfunctional in practice. Replace glColorMask with glBlendFuncSeparate. The hellogl2 example and the docs are now corrected wrt enabling semi-transparency in a QOpenGLWidget that is not a top-level (which is the most common case). Task-number: QTBUG-47276 Change-Id: I6f40e732d455f5efcf158649ac9a52ff9f240e85 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Guard against empty keys in QPlatformInputContextFactory::create().Friedemann Kleint2015-09-241-7/+9
| | | | | | | | | | | | | | | | | | | | | | The code relied on QStringList::split() returning a list consisting of one empty string when passing an enpty string. Add a check to prevent the plugin loader from trying to load in this case. Change-Id: Iadb418d32fdea1d472d6c00726ad039b4afbf409 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * qdoc: Document macro parametersTopi Reinio2015-09-241-0/+12
| | | | | | | | | | | | | | | | QDoc has the ability to accept parameters for macros but it was never documented. Change-Id: Iaf9a629c906fbe1552717c7444a0fd52b5655a3f Reviewed-by: Martin Smith <martin.smith@digia.com>
| * Deliver mouse press and release events on X11 also when draggingUlf Hermann2015-09-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We generally assume that for every mouse press we also get a mouse release eventually. The event filter installed by QBasicDrag broke this assumption as it didn't take care of filtering mouse press and mouse release events symmetrically. We cannot immediately pass on the release event as that would mean a release event is generated from a press event (via the blocking drag call), which breaks assumptions in other places. Change-Id: If7e48c7dc0ef5265bed4f9a9366a7606ec875d93 Task-number: QTBUG-46361 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
| * QSettings: Special-case serialization of QDateTime.Christian Kandeler2015-09-242-5/+28
| | | | | | | | | | | | | | | | | | | | QDateTime values with a UTC offset are not correctly serialized with QDataStream::Qt_4_0. So use a newer QDataStream format for this type and mark it with "@DateTime" instead of "@Variant". Task-number: QTBUG-46551 Change-Id: I211c89e8cd0211c949ec993e6ffd5192d0eebbb3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Change indicator arrow direction in Fusion styleJoni Poikelin2015-09-241-0/+8
| | | | | | | | | | | | | | | | | | [ChangeLog][Important Behavior Changes] Arrow indicator now consistent with platform styles Task-number: QTBUG-34611 Change-Id: If55e00a37a22288b2179e03fba299aeebad0ebcf Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| * Fix QItemSelectionModel deselection rangeJoni Poikelin2015-09-242-4/+98
| | | | | | | | | | | | | | | | | | Left and right were swapped which caused invalid selection ranges to be emitted through selectionChanged. Task-number: QTBUG-48402 Change-Id: I18692c2b50c49ab39065f9b360b37b7615227ee9 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| * Tests: Harmonize code checking on platform name.Friedemann Kleint2015-09-2414-26/+26
| | | | | | | | | | | | | | | | Use case insensitive comparison and static invocation of QGuiApplication::platformName(). Change-Id: I8c197c7b4f0669f71c019fbcee09a0f03dfab399 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * Be more forgiving about arguments to QString::arg(double).Christian Kandeler2015-09-241-2/+2
| | | | | | | | | | | | | | | | | | The arguments for the width and precision parameters, that is. There's no reason to crash if a user sets e.g. a precision of -2. Task-number: QTBUG-46838 Change-Id: I4afc004a1b8aa1306fd996360b16117b2b643640 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Doc: Fix QDoc warnings for QTextStreamTopi Reinio2015-09-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | qtextstream.cpp:2825: warning: Can't link to 'left()' qtextstream.cpp:2825: warning: Can't link to 'right()' qtextstream.cpp:2797: warning: Can't link to 'right()' qtextstream.cpp:2797: warning: Can't link to 'center()' qtextstream.cpp:2811: warning: Can't link to 'left()' qtextstream.cpp:2811: warning: Can't link to 'center()' Change-Id: I613354ca8137030c9f121cb976fe3bc35e1a415b Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| * tst_QDBusAbstractInterface: fix racy test failing every so oftenThiago Macieira2015-09-241-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The explanation is in the code comment. Ever since QDBusConnections began being processed in a separate thread, we were relying on the fact that the main thread didn't begin processing its event queue until the second event got posted (the event loop only exits after it has finished processing all pending events). We had a race between the main thread starting its processing, at which point it decides which is the last event it will process, and the QDBusConnectionManager thread posting the second event. This is very fragile code, since it depends on the behavior of QDBusConnectionPrivate (how it stores the signal relays in a hash) and that of QHash with duplicate keys. This only works because the hash key between the two connections is the same (it's only dependent on the method name and interface name). If we ever begin using something that isn't the same between "control" and "p", then with QHash's randomness, we'll be racy again. Change-Id: I42e7ef1a481840699a8dffff1406c3a4674ec3a6 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * Stabilize qguieventloop test.Jędrzej Nowacki2015-09-242-15/+2
| | | | | | | | | | | | | | | | | | The test assumed that an event loop can be tested for emptiness multiple times, which is wrong because an event can be delivered any time. Change-Id: Ic44245321eeed2091b640ada2c83d205b83a1cc2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix tst_qthreadstorageFrederik Gladhorn2015-09-241-1/+1
| | | | | | | | | | | | | | | | This test when running on Windows has a race condition since in qthread_win.cpp the finished signal is emitted before everything is cleaned up. Change-Id: I3c03d9a245e297e8f79b2be2c34398bf7bac9bae Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * winphone: Obtain QLocale::uiLanguages properlyOliver Wolff2015-09-241-6/+0
| | | | | | | | | | | | | | | | | | | | The methods are supported on Windows Phone since 8.1 so that the simplified Windows Phone code isn't needed any more. Task-number: QTBUG-48140 Change-Id: I21c488fe1a1322e85bbe088fb47e81893fd12d40 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| * Allow vertical resizing of wizard pages with water markLouai Al-Khanji2015-09-241-1/+0
| | | | | | | | | | | | | | | | The current behavior has been observed to irritate a lot of users, for instance in the Qt online installer and the Boot2Qt flashing wizard. Change-Id: Icd7b819a0cbc9fd04b86b4777c5b9e829045d6df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Fix maximum size of .ico files in ICOReader::write()Serge Lysenko2015-09-241-4/+6
| | | | | | | | | | | | | | | | | | | | According to MSDN, a maximum icon size is 256 pixels. http://blogs.msdn.com/b/oldnewthing/archive/2010/10/18/10077133.aspx Change-Id: Id87c89a20c9cba6ef041b49f93f84c5e9c3eb79f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
| * Speed up printing when drawing opaque primitives.Jan Arve Saether2015-09-232-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only need to merge the rectangles into a region if we are painting a non-opaque a primitive with alpha. Performance measurements QT_print_speed_bug.zip: Excluding patch: 244686 ms Including patch: 5070 ms This is an improvement of 48x (for debug build) Task-number: QTBUG-48334 Change-Id: I03684c6e7d8a5fb039ea6477ed1a860f09e1b08c Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * Synchronize QInputDeviceManager touch device count with QTouchDeviceRomain Pokrzywka2015-09-238-34/+120
| | | | | | | | | | | | | | | | | | | | | | | | This ensures that the values and signals reported by QInputDeviceManager for touch devices always have corresponding entries in the list returned by QTouchDevice::devices(). It also adds proper QTouchDevice unregistration when the underlying input device gets removed by the evdevtouch QPA plugin. Change-Id: I7bdf2f7435c775d15bddce8ba1e731afdc1d948a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Add code to perform overflow-checking additions and multiplicationThiago Macieira2015-09-234-1/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most processors have carry flags which they set on addition overflow, so it's a good idea to access them whenever possible. Most of them also have widening multiply instructions that can be used to detect overflow of the non-widening version. Tested to compile on: Architecture Compiler x86 GCC 4.9, GCC 5*, Clang 3.6*, ICC 16 beta x86-64 GCC 4.9, GCC 5*, Clang 3.6*, ICC 16 beta x86-64 ILP32 GCC 4.9, GCC 5*, Clang 3.6* IA-64 LP64 GCC 4.8 ARMv7-A GCC 4.9, Clang 3.6* AArch64 Clang 3.6* MIPS GCC 4.9, Clang 3.6* MIPS64 GCC 4.9, Clang 3.6* PowerPC GCC 4.9, Clang 3.6* PowerPC 64 GCC 4.9, Clang 3.6* SPARC Clang 3.6* SPARCv9 Clang 3.6* [*] supports the intrinsics If the compiler does not offer a way to detect an overflow, we do it by hand. For unsigned additions, that's easy, since the C++ language specifies the behavior of the overflow. That's also the reason why this code is implemented only for unsigned integers. For the multiplication, if the compiler does not support widening multiplications, we do it with a division instead. This is necessary for GCC < 4.5 and compilers not compatible with GCC or MSVC. Change-Id: I049a653beeb5454c9539ffff13e637de0f1338c1 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Doc: Mention that calling parent class event() is importantAlbert Astals Cid2015-09-232-0/+34
| | | | | | | | | | | | | | If you don't deleteLater and more won't work Change-Id: I47cbb24f8e22a7f269a0297410e4163878819f82 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * windows: Improve error handling with EGLLaszlo Agocs2015-09-231-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When disabling the graphics adapter, things start failing with context lost and then bad_alloc and bad_access failures when creating contexts/window surfaces. Swap buffers now handles context loss. This makes it possible for Qt Quick to act when the graphics adapter goes away. Similarly, the window surface creation failure EGL_BAD_ACCESS is treated the same way as context loss. Note that this will not really help the main issue, because rendering is not possible without a GPU (reinit attempts will fail either at context creation or window surface creation), but proper logging and context loss reporting improves the situation somewhat. Also unify and prettyify the warning and debug prints. This makes it easier to understand what is going on. Change-Id: Iec3a9b54f1134e78e87eefcf938525283ec9412a Task-number: QTBUG-48095 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Polish the settings editor example.Friedemann Kleint2015-09-237-161/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Set QtProject as organization. - Remove unneeded member variables. - Use member initialization in the constructor. - Use new connection syntax in createActions() to assemble the menu there, removing the createMenus() function. - Introduce a QSharedPointer to ensure settings are deleted. Previously, the settings were parented on the tree widget, which is a hack of sorts. - Fix OS X macros. Change-Id: Ibbc6bfb03eb5c7eda077b1a3aa3f1707667f7f13 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>