summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | QTranslator: don't repeatedly re-create a QString from a QLatin1StringMarc Mutz2016-01-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | ... each time around the loops. Cache it. Also use QStringLiteral, since the string will never be modified. Also saves 96b in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I0269586235da18f3073a553739561ea7db6356e8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QTranslator: re-use 'realname' capacity in find_translation()Marc Mutz2016-01-111-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For almost the whole of its life time, 'realname' has the same prefix, but the old code used the same string-builder expression to construct it over and over again. If QStringBuilder would re-use the capacity of the LHS object, that would boil down to just a bit more copying of characters than necessary. But assigning a QStringBuilder expression to a QString works by implicit conversion of the QStringBuilder expression to a QString, followed by move-assigning the new QString into the old. The new code keeps the common prefix around, resetting 'realname' to that prefix with truncate, only appending the varying suffixes. In this way, one memory allocation per assignment is saved (ignoring a potentially required capacity increase in one of the appends here), and also some out-of-line QString dtor calls, since op+=(QString&, QStringBuilder...) doesn't create a temporary QString. Also saves ~1KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I0872a69c9111d7218567f06f8fefb010f2430532 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QListView: use erase and std::remove_if with QVectorAnton Kudryavtsev2016-01-112-9/+13
| | | | | | | | | | | | | | ... instead of using erase in a loop, with quadratic complexity. Change-Id: I9686d117e092f5d74c6e74a462adf503a7b7ae79 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QSyntaxHighlighterPrivate: use erase and std::remove_if with QVectorAnton Kudryavtsev2016-01-111-9/+11
| | | | | | | | | | | | | | | | ... instead of using erase in a loop, with quadratic complexity. Change-Id: If30c6c99a775aec07eef9ddf953e944dc916b5a2 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QComposeInputContext: reduce composeBuffer to QT_KEYSEQUENCE_MAX_LENAnton Kudryavtsev2016-01-092-2/+2
| | | | | | | | | | | | | | | | | | | | The extra length has been used for a sentinel null value. By checking the index before indexing into the array, that extra element can be dropped. Change-Id: I0b309420d8d89f75e2381a8065c8e68a1a33427c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QXcbConnection: use erase and std::remove_if with QVectorAnton Kudryavtsev2016-01-091-7/+6
| | | | | | | | | | | | | | ... instead of using erase in a loop, with quadratic complexity. Change-Id: Ia5201e0bedca7abec6d485505f61f3f76a028bd1 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QDirModel: replace a QStack with a std::stackMarc Mutz2016-01-081-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::stack, based on std::vector, tends to be more efficient that QStack, based on QVector, but, crucially, it is an actual stack, so doesn't allow, say, iteration or insertion in the middle, which QStack does allow. Since a lot of places where QStack is used use at least some of those non-stack features, protect this instance which doesn't, yet, from becoming another such site. Since the use of std::stack with the default std::deque increases text size by almost 1K, and a vector makes a perfectly good stack, use std::vector as the backing container (which std::stack, being a container adapter, allows easily). Saves ~0.5KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I51c8fb1dc4e9907ae00ed1cee8f320304321b322 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-0897-776/+2606
|\ \ | |/ | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * add always_prepend mode to qtAddToolEnv()Oswald Buddenhagen2016-01-081-1/+1
| | | | | | | | | | | | | | | | | | this is just an optimization/clarification: variables which are known to be never empty (like PATH) can be extended with less convoluted code. Change-Id: Ib365bbec8301673ed1c874979b4de19bc983dab1 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix mac build with -no-widgetsStephen Kelly2016-01-072-0/+2
| | | | | | | | | | | | | | Unused parameters are errors. Change-Id: I79782a8094491a953d6e838e6b8c5b9d6327f30a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix offset and size for native child rtt widgetsLaszlo Agocs2016-01-071-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Render-to-texture widgets that are native children may have a non-zero offset telling the position within the top-level widget. The size is usually different (smaller) than the tlw's size as well. An unfortunate optimization attempt led to ignoring the size for native children with offset (0, 0). This resulted in interesting rendering artifacts whenever such widgets were placed in the top-left corner of the toplevel. This is now corrected. Task-number: QTBUG-48130 Change-Id: If449610c3f3333cb73ae149efaefd7ef42953951 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * doc: correct documentation of QT_AUTO_SCREEN_SCALE_FACTOR env varShawn Rutledge2016-01-071-1/+1
| | | | | | | | | | Change-Id: I4fa57279b23911893a615fe8a3ce9854d0fec971 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QtGui: Don't set screen to a child window when processing screen eventsBłażej Szczygieł2016-01-071-4/+6
| | | | | | | | | | | | | | | | | | Setting a screen to a child window causes a warning message. This patch prevents the debug message by catching incorrect behavior made by QPA earlier. Change-Id: Idf3ac02290a18afc134f19c2b91348dc009ca4ca Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QtGui: Fix obtaining the top level window at a pointBłażej Szczygieł2016-01-071-10/+30
| | | | | | | | | | | | | | | | | | | | Find the top level window on the primary virtual desktop first to avoid obtaining a window which doesn't belong to the primary virtual desktop when screen geometry is similar. Change-Id: I78fdfa0b5146d0ba9b912338adeb612c102c4ac3 Reviewed-by: Adam Majer <adamm@zombino.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QPair<QRunnable*, int> is too large for QList to be efficient-ish.Volker Krause2016-01-072-6/+6
| | | | | | | | | | | | | | | | | | | | Qt3D is making heavy use of this, causing the QList node allocations to be among the top 10 per frame allocation sources. Switching to QVector fixes that. Change-Id: I3b4df329710f82bf8d6797ea1f0c79b288a08063 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * dbus: Print out 'serial' and 'serial reply to' with DBusMessage operator<<.Ralf Habacker2016-01-072-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | The reply serial is displayed for method call returns and errors, while the serial is displayed for all message types. To see a message serial it is required to dump messages after sending, not before. Task-number: QTBUG-44490 Change-Id: I859f50d739ed059d5b2dfe1a2efdf04b906891a7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * dbus: Add method serial() and replySerial() to class DBusMessage.Ralf Habacker2016-01-074-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch includes setup of class member 'msg' in QDBusMessagePrivate::toDBusMessage() to be able to get the serial after message sending. Testcases for comparing the 'reply serial to' with the 'serial' are included. Task-number: QTBUG-44490 Change-Id: Iae7c48f5b0c70a6c5ae500904072b38b46dfd876 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Windows: Fix QWindowsInputContext for Japanese IME.YAMAMOTO Atsushi2016-01-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the QWindowsInputContext::composition if it is called with lParam has flags GCS_RESULTSTR and GCS_DELTASTART, it doesn't call endContextComposition. Task-number: QTBUG-49955 Change-Id: I49de3f239bf8a77414e433b255db08f227141158 Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Takumi ASAKI <takumi.asaki@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> (cherry picked from qtbase/786984e7e47a63094ad64ec86a4892cc5c0ad6d4) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Android: Activate Qt::Popup windowsBogDan Vatra2016-01-061-2/+6
| | | | | | | | | | | | | | | | | | | | On Android, back button will send a CloseEvent to the focused window. This change will activate (focus) the Popup windows when they'll become visible. Task-number: QTBUG-46419 Change-Id: I6787435b24502bbf9a78662a0c6fd159d4ee2e8d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * QDesktopWidget::screenNumber(QPoint): fix handling of virtual desktopsBłażej Szczygieł2016-01-061-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | On X11, QXcbVirtualDesktop represents an X11 screen while QScreen represents an X11 output. In the case that there are multiple screens (possibly with multiple outputs), calculate the screen number correctly: Find the screen index on the primary virtual desktop first to avoid obtaining a screen index which doesn't belong to the primary virtual desktop when screen geometry is similar. Change-Id: I4cbb29b7aa7cd2125759ffbbbe3db4e934feaeae Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QDesktopWidget::screenNumber(QWidget*): check virtual sibling screensBłażej Szczygieł2016-01-061-17/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Find the root widget only when more than one virtual desktop exists and find the screen index using virtual siblings from this root widget. Use intersecting rects instead of middle point to obtain the screen. This can help to get the screen index when the middle point is outside the screen geometry, but part of the window is still on the screen. If the widget is completely outside the screen geometry, -1 is returned. This commit amends: a6b2a4642f07cd6e52b447e1e441b257990a8d03 Change-Id: I80247fc1956a82c487ee6f728d1576bf48b28748 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QtGui: Don't set a screen to a child windowBłażej Szczygieł2016-01-061-7/+9
| | | | | | | | | | | | | | | | This is a partial revert of eaa3a9d0108cdf692f1686cafefb7b834f0e5af6 Task-number: QTBUG-50081 Change-Id: Ic3dc4daa90d7a968a4ebf45d3029c99a12985686 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QFontDialog: optimize allocation of QFontDialogOptionsMarc Mutz2016-01-061-1/+2
| | | | | | | | | | | | | | | | Use QSharedPointer::create(), to fuse control block and payload into a single memory allocation. Change-Id: I8d87c73566c3be960e957ec0b5419a77da2fc8c9 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Unbreak ubsan developer-buildMarc Mutz2016-01-067-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 5.3's undefined-behavior sanitizer checks that the declared type of the object is a base class of the dynamic type of the object on each access to a member of a class type. It therefore requires the typeinfo for these types, which for polymorphic types is emitted in the TU where the vtable is emitted, too. QFileDialogPrivate is a polymorphic non-exported class, so this failed at link-time. Ditto for the other cases. Fix by autotest-exporting the classs. Also, where applicable, de-inline the dtors, so the vtable (and typeinfo) are pinned to one TU, and the ctor, just because it's the correct thing to do. Change-Id: I2b7dba776282a2809c80eb2bc36440d7d698f926 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * WinCE: Remove QIncrementalSleepTimer from QProcess::waitForFinishedJoerg Bornemann2016-01-061-12/+6
| | | | | | | | | | | | | | | | | | | | | | Remove a superfluous loop and thus the usage of QIncrementalSleepTimer from QProcess::waitForFinished. We just wait for the process handle. There's no need for a loop that checks multiple wait conditions. This enables us to remove QWindowsPipeWriter from the Windows CE port in a subsequent commit. Change-Id: If6a82405227cf145263dba3726bae959e6871d0e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * QString: prevent resize() from shedding capacityMarc Mutz2016-01-061-14/+5
| | | | | | | | | | | | | | | | | | | | ...even if reserve() hasn't been called before. [ChangeLog][QtCore][QString] resize() will no longer shrink the capacity. That means resize(0) now reliably preserves capacity(). Change-Id: If499a20990bbf3a20553da14e50a42918d310c9f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Fixed crash on iOS devices due to unsupported selector.Harald Meyer2016-01-061-2/+4
| | | | | | | | | | | | | | | | Added check for traiCollection selector. Task-number: QTBUG-50159 Change-Id: Ie3efafe9e22e59aef862a681ad733f2bb0a5ba49 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * Remove doc for non-existent QTest::qCompare() variant.Edward Welbourne2016-01-061-4/+0
| | | | | | | | | | | | | | There's no variant with bool first argument. Change-Id: Ib18b50ed6271d21253d075dc72b6e2b8744cf131 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Windows/DirectWrite: Dynamically load GetUserDefaultLocaleName().Friedemann Kleint2016-01-061-1/+14
| | | | | | | | | | | | | | | | The function is not available on Windows XP. Task-number: QTBUG-50188 Change-Id: I4ded1a4eb37af84979c3ce1a9af0d95da60b56ac Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * Avoid unnecessary detaching of the pending deletions list.Volker Krause2016-01-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | This code seems to be hit three times per frame in a hybrid QQ2/Qt3D app, quickly generating thousands of allocations here via the detach in begin(). Heaptrack confirms they are all gone now. Change-Id: I7d09f3f5c2b24a2590b701216715055751306e82 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Remove declaration of method nowhere definedEdward Welbourne2016-01-061-2/+0
| | | | | | | | | | Change-Id: Ia95aac626803a85fea0bc0bc99972eb34215d351 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * Fix potential crash in FreeType font database for WinCETakumi ASAKI2016-01-061-1/+1
| | | | | | | | | | Change-Id: Iea922c2561d59a67cc26c300325a3f198baaafa7 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * xcb: fix drag and drop when window is hiddenBłażej Szczygieł2016-01-054-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes drag and drop operation on XCB platform when window will be hidden. The window can be hidden during dnd operation by switching virtual desktops or by minimizing all windows (show desktop) using key shortcut. The ShapedPixmapWindow must grab mouse before dnd operation if mouse is not grabbed by other window (like in Qt4). Task-number: QTBUG-46243 Change-Id: I807bc842719a2d0ea0f4dcb733c06c1fd08813e1 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * xcb: don't select XInput events on the root windowShawn Rutledge2016-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we select XInput events, then when the mouse is clicked, there will not be a fallback to a core pointer event. But a typical Qt application doesn't own the root window. If the window manager (such as OpenBox, Awesome or fvwm) relies on receiving core pointer click events, e.g. to show a desktop menu, then each time a device is hotplugged while a Qt application is running, we would select XI2 events and thereby prevent the window manager from receiving them. QDesktopWidget's native window is added to m_mapper, even when it isn't mapped. Then after hotplugging there's a hierarchy event, and that calls xi2Select for every window in m_mapper. The assumption with this patch is that the root window does need to be in m_mapper in case the QDesktopWidget is shown (that was done already in Qt 5.1: fca94fa5ed8321e84e7b0ff515620fbb901db545), but xi2Select must avoid selecting XI2 events on it to fix this bug. Task-number: QTBUG-49952 Change-Id: I5c160e879d93fadfce14120ef2e89a4f71d4f599 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * Fix access after delete in GTK2 dialog helpersJoerg Bornemann2016-01-051-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each QGtk2*DialogHelper class owns a QGtk2Dialog. It is possible that QGtk2Dialog's parent window is destroyed before QGtk2*DialogHelper. Then the QGtk2Dialog is destroyed, because of the QWindow parent/child relationship. Before destroying QGtk2*DialogHelper, QQuickPlatformFileDialog calls QGtk2*DialogHelper::hide, which will then operate on the already destroyed QGtk2Dialog. Break the parent/child relationship when QGtk2Dialog's parent is destroyed. Change-Id: Ie2bda234f759e7bf4d0642accd82fdc38e0379c2 Task-number: QTBUG-49203 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| * Don't detach QGradientStopsSérgio Martins2016-01-051-1/+1
| | | | | | | | | | Change-Id: I1ae84d0ae825e9fb474d4fab45b0c475a3878b25 Reviewed-by: David Faure <david.faure@kdab.com>
| * winrt: handle PrelaunchActivated property to pass certificationMaurice Kalinowski2016-01-051-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows 10 requires apps to handle the PrelaunchActivated property. This enables a faster startup by launching an app and immediately suspending it. This happens by the system and at the time the user launches the app no library loading or initialization is required. By default we opt-out of this and return early. The reason is that we cannot know the type of application written in Qt and whether it breaks the guidelines by using prelaunch. For further details check here: https://msdn.microsoft.com/en-us/library/windows/apps/mt593297.aspx Task-number: QTBUG-50292 Change-Id: I4d0b0b95a03f93b99211d042895404a88ea7cb9d Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * winrt: Added timeout to await functionOliver Wolff2016-01-051-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using a "custom wait function" in cases, where a timeout is needed (like in qhostinfo_winrt.cpp) we should have the timeout as part of our await function. By having one common place to handle this, we can avoid unnecessary warnings, that might be caused by custom functions. The current implementation in qhostinfo for example causes at least 1 "originate error" exception per call. Change-Id: I7b6cfdfd861af2b0d271465eecaefe4a93e3109b Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * Winrt: Show message when command line processing fails/usage should be shownOliver Wolff2016-01-051-2/+8
| | | | | | | | | | Change-Id: If8f69906beb22f632ccbde92aab5caf914dcb31b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * winrt: Use "await" with its timeout for dns queriesOliver Wolff2016-01-051-17/+28
| | | | | | | | | | | | | | | | | | | | By using await instead of using a custom wait function we get rid of a lot of "function was called at an unexpected time" warnings and use the default way of waiting for an asynchronous function to complete. Change-Id: I6c5bf73ccf68a219b8f3facd3531873d7e8d4c67 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * winrt: Use winsock2 API for hostname resolution on WinRT/WinPhoneOliver Wolff2016-01-055-211/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That API has been available for WinRT and Windows Phone for some time now. By using it to get the machine name and for hostname resolution we can get rid of some winrt-only code and use qhostinfo_win.cpp on WinRT and Windows phone as well. Additionally the required capability was added to tst_qhostinfo so that this auto test can be run without any manual editing. Change-Id: I63fa5521bf8cdb0c919bd5a0100ea977c865622a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * WinRT: Add camera button events on Windows PhoneSamuel Nevala2016-01-053-2/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows Phone 8.1 provides access to the camera button and press/release events get passed as Key_CameraFocus and Key_Camera. Unfortunately a release does not provide what has been pressed before, hence this information needs to be cached when the press happens. Done-with: Maurice Kalinowski<maurice.kalinowski@theqtcompany.com> Task-number: QTBUG-39115 Change-Id: I6ce58a1f07a6bf7183b8d99a26e5cd7b0d32d6db Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * QMacPanGestureRecognizer - stop timer on 'reset'Timur Pocheptsov2016-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | _panTimer has a target - for example, widget. 'reset' should stop this timer. The problem (quite subtle and difficult to reproduce) found in tst_QTouchEvent: widgets created/destoryed by different tests but we still can have a timer waiting for event dispatcher to 'processEvents', firing with now-invalid dangling pointer - 'target'. Change-Id: Iccaf3368a8ee6a0a2f60e9dcdf5d40fb7392ca21 Task-number: QTBUG-49844 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * QOpenGLTexture: fix target for compressed texturesMauro Persano2016-01-041-138/+70
| | | | | | | | | | | | | | | | | | | | | | Trying to set data for a compressed cubemap texture face fails, because the code incorrectly tries to bind to a cubemap face target. This was already fixed for uncompressed textures. Instead of duplicating the code, moved the texture binding/unbinding code to a RAII class. Change-Id: I8f1cb7fc661b919200f85c3465d6e6e3c22d0871 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QWindowsTheme: Fix return type of helper dWordSystemParametersInfo().Friedemann Kleint2016-01-041-2/+2
| | | | | | | | | | | | | | | | QApplication::wheelScrollLines() was always 1 due it being a bool. Task-number: QTBUG-49561 Change-Id: I83e97da3507c31dfd024db7bf543c4e6a3b4a98b Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * Fix QPainter::rotate() documentationMitch Curtis2016-01-041-1/+1
| | | | | | | | | | Change-Id: I5d11f84181cad9be644e850c83459b47ec2f2f15 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Fix crash because of NULL screen in QXcbWindowBłażej Szczygieł2016-01-041-8/+6
| | | | | | | | | | | | Change-Id: If7bbe3ad1656dadcb098bcd3ece2e7b064eeb44d Task-number: QTBUG-50081 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Fix deadlock when setting environment variables.Samuel Nevala2016-01-041-15/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt uses QHash as the container for faking environment variables on Windows Runtime and CE. Environment variable manipulation functions are protected by mutex. Accessing the QT_HASH_SEED environment variable inside QHash can lead to situation where qputenv() call leads to qgetenv() call and that leads to a deadlock. Change the container from QHash to QVector to avoid deadlock. Task-number: QTBUG-49529 Change-Id: I550ead4ab12e7abebc044f52339063a44fcf0170 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * tst_qwindow::isExposed - fix failing test on OS XTimur Pocheptsov2016-01-041-9/+10
| | | | | | | | | | Change-Id: Ice25c8ffaaa4662b679ee829dc0a38834e3258b7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * QNetworkReplyHttpImpl: convert another QDateTime::currentDateTime() to ↵Marc Mutz2016-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currentDateTimeUtc() The latter is much faster as it doesn't have to deal with time zones. This change is safe because QNetworkHeadersPrivate::fromHttpDate(), used as the QDateTime source in other, nearby, code paths, also returns only UTC date-times. So not only is this change faster at the call site, it also avoids inconsistent-timespec comparisons down the line. Credits to Milian Wolff, from whose QtWS15 talk this advice is taken. Change-Id: I26d308a2763cc45d28bc96871e651f30b17a6b85 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>