- 07 Mar, 2016 - 1 commit
-
-
Oswald Buddenhagen authored
Change-Id: Idcda6d52266f557ce4a819b6669f6797473a48a2
-
- 06 Mar, 2016 - 1 commit
-
-
Morten Johan Sørvig authored
Some consumers of wheel events need to know if the scrolling direction is inverted in order to provide consistent behavior. For example, the scrolling direction of a horizontal slider should not change when the user toggles the "natural scrolling" setting on OS X. In this case the inverted bit will change state and the slider can compensate. This change adds a bit to QWheelEvent and sets it on OS X. Task-number: QTBUG-35972 Change-Id: I221435dea45d436d570b113bd0e24ee6f6832211 Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
- 05 Mar, 2016 - 1 commit
-
-
Marc Mutz authored
Change-Id: I66819f3708f0489006f997f43f1051b81f7b647e Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 04 Mar, 2016 - 11 commits
-
-
Louai Al-Khanji authored
Change-Id: I03e0fc5fdfbd7ce478ebc4b0ae8e72d57450bc51 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Louai Al-Khanji authored
Change-Id: I5086e2031201b939b49603f17c373e414a91c32a Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Louai Al-Khanji authored
Change-Id: I07d12441db6c7f289363417e21fec65bfcf08b78 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Marc Mutz authored
QUtf8::convertToUnicode() contains a SIMD-enabled ASCII fast-path already which is likely faster than what the compiler will emit for the old code here. Change-Id: I6afae9689424eb53a9f7c01359cc4f57ffcead26 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Erik Verbruggen authored
iOS cannot do runtime feature detection, and querying the CPU is only allowed in kernel mode (or beyond), so we have to decide the features at compile time, in which case we might as well use the fallback code path that uses the built in __ARM_* macros to point out which features are supported, instead of hard-coding the features for iOS. Change-Id: Ie507c0d8e962a7bdab16508c8b8122645276512e Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
-
Marc Mutz authored
Wrap the pairs of (void *ptr, void (*dtor)(void*)) in essentially a std::unique_ptr. This simplifies code and provides the correct implicit destruction, so we can drop the explicit glyph-cache clear()ing in ~QFontEngine(), leaving that job to ~QLinkedList. A subsequent change will turn the QLinkedList into a C array, the clearing of which would otherwise cause excessive code bloat. Since we can't use std::unique_ptr, yet, provide a hand-rolled replacement for now, marking it for replacement with unique_ptr once we can use it. Make that a local type instead of providing a Qt-wide unique_ptr so we don't accidentally lock ourselves into a half-baked std clone we can't get rid of anymore. To prepare unique_ptr use with the same type-erased deleter (function pointer) as now, replace a nullptr destroy_function with a no-op function, so ~unique_ptr doesn't crash when we port to it later. Because QFreetypeFace contains the same construct and shares payloads with QFontEngine, use the Holder there, too. Even saves 150b in text size on optimized GCC 5.3 AMD64 builds. Change-Id: I5ca11a3e6e1ff9e06199124403d96e1b280f3eb2 Reviewed-by:
Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Marc Mutz authored
The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Saves ~850b in text size on optimized GCC 5.3 AMD64 builds. Change-Id: Ib1a087795a03b2a6b432e2c499968df779aaea37 Reviewed-by:
Kai Koehne <kai.koehne@theqtcompany.com>
-
Marc Mutz authored
The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "..."; with qWarning("..."); In QTransform shared warning strings. Saves 3KiB in text size on optimized GCC 5.3 AMD64 builds. Change-Id: I142a8020eaab043d78465178192f2c8c6d1cc4f9 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by:
Kai Koehne <kai.koehne@theqtcompany.com>
-
Allan Sandfeld Jensen authored
Reuses the optimized routines from qimage to make painting RGB888 images faster on SSSE3 and NEON. Change-Id: I99116b318322ba4cb0ddc2cb90bcf17a0350ef99 Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
Marc Mutz authored
Just iterate over the container instead, saving one iteration and the creation of a temporary QList. Change-Id: I564e3e83cb247a12c413fc5a9dc17299ae089e30 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Gabriel de Dietrich authored
Task-number: QTBUG-41195 Change-Id: I4f37c82f6757283ed58b38c7fd47849fb4810bce Reviewed-by:
Błażej Szczygieł <spaz16@wp.pl> Reviewed-by:
Shawn Rutledge <shawn.rutledge@theqtcompany.com>
-
- 03 Mar, 2016 - 11 commits
-
-
Anton Kudryavtsev authored
Don't perform lookup twice. Just cache iterator or position. Change-Id: I454fd292614dee62167ff248fc3ddec0f79435b0 Reviewed-by:
Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Anton Kudryavtsev authored
Three hashes are handled similarly; so extract the loops over them as methods hasUsedConfiguration() and cleanUpConfigurations() to avoid duplicate loop code. Change-Id: I1040724c4fc98caa48913fac339c03e60b04bae2 Reviewed-by:
Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Marc Mutz authored
These are already held in QVectors. Public API types need to wait until Qt 6, for BC reasons. Even though Q_RELOCATABLE_TYPE deals with most of them, we lack a way to mark a type as primitive, but still isStatic - for QList. Change-Id: I91392b01ae6f94cc847007636e12d4e64c43b2bc Reviewed-by:
Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
-
Anton Kudryavtsev authored
Change-Id: I5f8d72742cc4199bfa73df6037b851c58632ff86 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Edward Welbourne <edward.welbourne@theqtcompany.com>
-
Louai Al-Khanji authored
For the remote X case the backing store previously always reuploaded image data for every expose event. Instead of doing that create a remote X pixmap and only flush repainted regions. For regular expose just copy from the pixmap. Additionally, atomically update the window by setting a clip mask and flushing the entire region at once instead of doing it rect by rect. Change-Id: I26bb1834b159e309c7ad93287dd297769f7e2633 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Anton Kudryavtsev authored
It has a variant accepting QL1S directly, so no need to go via a QString. Change-Id: Ia8f1198ef2af7027bc9f7c2e1dad3a5f78a12eb4 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Edward Welbourne <edward.welbourne@theqtcompany.com>
-
Anton Kudryavtsev authored
De-duplicate calls by caching results. Reorder conditions: call cheap methods first. Change-Id: I27715b935247c6c21bd02f9cc40655d3f9371264 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Thiago Macieira authored
Many DirectFB types have constructors in C++, so we can't initialize them with = {...}, like we would be able to if they had been regular POD types. Change-Id: Ic747cc2ab45e4dc6bb70ffff143840e5780ac2bc Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Andy Nichols <andy.nichols@theqtcompany.com>
-
Marc Mutz authored
Marking them shared (which implies movable) now would make QLists of these BiC. Change-Id: If5638e8d9f43e0ad549aedf08934de31e1e189f1 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
-
Marc Mutz authored
Extract a loop repeated four times in the code into a separate function. Port to use C++11 range-for loops and not create temporary QLists. Saves 2.4KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I7eb78ffaac33627b595e35cafb6ce0769fb760a8 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Marc Mutz authored
Use new QUtf8::convertToUnicode(QChar*, const char*, int) overload instead of QString::fromUtf8(). The QUtf8 overload allocates no memory, and is therefore marked as nothrow. Using this function in convertFromAscii() allows to mark this function nothrow, too. All functions of QAbstractConcatenable can now be marked as nothrow. Since QUtf8::convertToUnicode() does not deal with lengths of -1, insert a strlen() call when the len == -1 ASCII fast path fails due to non-ASCII chars. Saves 1.1KiB in text size on optimized GCC 5.3 Linux AMD64 builds of QtCore (other libraries are compiled without exceptions, so this change should not have an effect on those). Change-Id: I7333e35844033831eae2a04203d13d9792c5d460 Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 02 Mar, 2016 - 9 commits
-
-
Anton Kudryavtsev authored
Change-Id: I6864e227fceb133903979ac8f7a7434fc3e280bf Reviewed-by:
Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by:
Sean Harmer <sean.harmer@kdab.com>
-
Laszlo Agocs authored
The function resolving changes remove the special treatment for ES 3.0+ contexts, meaning that now all functions get resolved in the same way irrespective of the current context. For blitFramebuffer and renderbufferStorageMultisample this presented an issue with ANGLE. There these functions are available both as an ANGLE extension and as standard ES 3.0 functions. The latter are not functional however in 2.0 contexts. We expect multisampled FBOs to work in 2.0 contexts too by prefering the ANGLE extension with 2.0 contexts. Change-Id: I0a4b70e6d39c84d4b1f61f8fd0655d7326419a2a Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Lars Knoll authored
Change-Id: I36d8881b658760dde18e4f52742c49f3c0cab7a5 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Lars Knoll authored
Always try both e/wglGetProcAddress and ::GetProcAddress to resolve the methods. Like this QOpengGLContext::getProcAddress is able to return any OpenGL entry point, and we can both simplify the code we have in the QPA backend as well as get rid of windows specific code paths in Qt Gui. Task-number: QTBUG-39531 Change-Id: I1ddf1b0974f69b56b219a619655b723eb0134b14 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Lars Knoll authored
Saves around 80k in Qt Gui. Change-Id: I3f7068ae699136d0edf46a49694ade7e1df3c91d Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Oswald Buddenhagen authored
turns out we need forwarding .pris in this case: without them, QT_MODULE_INCLUDE_BASE points into the build dir, so we fail to find the pre-generated headers. an alternative would be writing primary module .pris which already take that into account, but that would just add even more arcane code paths. Task-number: QTBUG-51521 Change-Id: I59f2a0d3f2095c9dfa0a8d1cabfc007a30bd2d23 Reviewed-by:
Simon Hausmann <simon.hausmann@theqtcompany.com>
-
Jan Arve Sæther authored
When "importing" the size hints into the cells, make sure that the cells minimum sizes are ceiled up to the closest integer. Change-Id: Id00177468e8b1e12bc1231c7351b2136f94f7300 Task-number: QTBUG-41216 Reviewed-by:
Paul Olav Tvete <paul.tvete@theqtcompany.com>
-
Lars Knoll authored
Saves some code, is easier to maintain and will allow for some more nice refactoring. Change-Id: Ica7ae8e9d36acbe6586e488bc6aff114336c65bb Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Friedemann Kleint authored
Verify that the temporary directory could be created. Check whether the gtk-update-icon-cache binary exists before running and skip cleanly. Check successful execution. Fixes Windows warnings: SKIP : tst_QIcon::fromThemeCache() gtk-update-icon-cache not run .\tst_qicon.cpp(707) : failure location QWARN : tst_QIcon::fromThemeCache() QTemporaryDir: Unable to remove "D:\\temp\\tst_qicon-DSSn9G" most likely due to the presence of read-only files. Change-Id: Ibc8f883121e62b30d71586bc64b42eb6c480925f Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
- 01 Mar, 2016 - 6 commits
-
-
Allan Sandfeld Jensen authored
Calling qMin often prevents effective vectorization, and it is only necessary when converting from formats with mixed color-channel widths. Change-Id: I2a0f3f3fb528d45be1fd025758f9d915ee1736c0 Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
Marc Mutz authored
Inherit the type-classification from the underlying type, but, for BC reasons, force isStatic = true, so QList does not change its memory layout in an incompatible way. Change-Id: I11003cdd24968f903fbd86aa2f5c17287e057c1f Reviewed-by:
Sean Harmer <sean.harmer@kdab.com> Reviewed-by:
Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-
Alex Trotsenko authored
Change-Id: I96974a7460c29b46cae8a28aadb3e50cdcdb7beb Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by:
Markus Goetz (Woboq GmbH) <markus@woboq.com>
-
Tor Arne Vestbø authored
Change-Id: Ifcad547caf2d2a7ad7aa1ccb4fbed08810905cee Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
-
Lars Knoll authored
Remove the different flags when trying to resolve opengl functions. Rather we simply try hard to find a matching method by resolving over possible suffixes when we can't find the standard name. Change-Id: Ic73085faec3bd406f5214ed4219eb7b796651d8d Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Lars Knoll authored
Similar to the parent commit, this reduces binary size significantly. Change-Id: Idd6753ec5e04ec84d93bf6f86b5c71550b90ae9b Reviewed-by:
Sean Harmer <sean.harmer@kdab.com> Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-