summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Avoid repeated QByteArray creation when resolving opengl functionsLars Knoll2016-03-0133-135/+147
| | | | | | | | | | Add an getProcAddress(const char *) overload to QOpenGLContext, and refactor the QPA interface to take a const char *. Like this we can avoid lots of mallocs when resoving GL methods. Change-Id: Ic45b985fbaa0da8d32ba3e3b485351173352ca6f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Don't resolve GL 1 symbols in the texture helperLars Knoll2016-03-014-234/+77
| | | | | | | | | We already have these symbols resolved in QOpenGLFunctions, so simply use those. Change-Id: I6047181dbe47be9b0a83656af454d0ca1f3df6eb Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Simplify part of the resolving code in QOpenGLFunctionsLars Knoll2016-03-011-852/+170
| | | | | | | | | | | | | Directly resolve the GL symbols in the constructor instead of wrapping them in another method that resolves on first call. Simplifies the code and reduces the the size of QtGui by around 50k. Change-Id: If1fc575d0113d3d9b48ad1918429254c827e42c7 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Inline the constructors for QOpenGLFunctions_X_BackendLars Knoll2016-03-012-187/+135
| | | | | | | | | | | They are private classes and only called from non inline code in Qt, so the change is safe. Reduces the size of QtGui by another 10k. Change-Id: I67e0592089b9ac89d3f2ab4456024ad7c5a55eca Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Significantly reduce the size of generated code for the opengl wrappersLars Knoll2016-03-0129-17627/+16268
| | | | | | | | | | | | Use some macro magic to declare the opengl symbols and use that to call getProcAddress in a loop instead of doing it individually for each method. Cuts the amount of generated object code down from 300 to around 50k. Change-Id: I386d278fde41a1a30827c6232e79f9156090f8b0 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline the code resolving the GL symbolsLars Knoll2016-03-011-19/+41
| | | | | | | | Saves around 200k in QtGui.so. Change-Id: I1a020445093a5612ed64ca98bf51435580478cda Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge convert from routinesAllan Sandfeld Jensen2016-03-011-92/+60
| | | | | | | | These four methods do not need to be separate, the compiler can figure generate the optimal version from the template arguments. Change-Id: I45b30a9c2f2ce4da46c47f2e6e1fbd7561213c4a Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* SSSE3 optimized store of 24-bit formatsAllan Sandfeld Jensen2016-02-293-2/+61
| | | | | | | | Using shuffle and align storing our quint24 format can be done much faster. This in particular improves conversions to RGB888. Change-Id: I179748706a33a43fd6f60f5c40287317418c8867 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-02-2929-131/+388
|\ | | | | | | | | | | | | Conflicts: tests/auto/corelib/io/qprocess/tst_qprocess.cpp Change-Id: Ib6955eb874b516b185b45d6c38cec646fbaa95f4
| * Track target widget when wheel events are receivedGabriel de Dietrich2016-02-299-24/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue is reproducible on OS X when using a Magic Mouse or a combination of Magic Trackpad and regular mouse. In these cases it's possible to start a scrolling gesture on one widget and move the mouse cursor over another widget. Although we send the wheel event phase information, we never made any use of it. This means that a widget would start scrolling even though it never received a ScrollBegin event. In this patch, we make sure the scrolling cycle is respected and that once a widget starts scrolling, it'll be recieving all the wheel events until a ScrollEnd event reaches the application. For those input devices not supporting a proper phase cycle, we introduce a new (undocumented) phase value, NoScrollPhase. If the wheel event phase is NoScrollPhase, then we ignore the current scroll widget and proceed as usual. This value is the default for wheel events. It's up to the platform plugin to set the proper phase value according to the data received from the OS. Finally, we fix a few of QWheelEvent constructors to properly initialize the phase and source properties. Task-number: QTBUG-50199 Change-Id: I3773729a9c757e2d2fcc5100dcd79f0ed26cb808 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * QPlatformWindow::screenForGeometry(): Do not call mapToGlobal() on top level ↵Friedemann Kleint2016-02-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | geometry. Use mapToGlobal() only for foreign windows passing relative coordinates. Amend change 9915630d0886434e8984904b1cadedc81dc78ca0. Task-number: QTBUG-50206 Task-number: QTBUG-51320 Change-Id: Idee60cc8ea8004c0355ce78a00f807798836b49c Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * Win: Prevent crash in qt_message_fatal()Kai Koehne2016-02-261-1/+2
| | | | | | | | | | | | | | | | | | The source argument can be nullptr, e.g. if debug information has been stripped out. Task-number: QTBUG-51195 Change-Id: Ie229c82278c420200cad33c19e8c3f52ab7f12c3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Windows Accessibility: Fix warnings as shown by Qt Creator's Clang based ↵Friedemann Kleint2016-02-265-59/+65
| | | | | | | | | | | | | | | | | | | | | | | | code model. Introduce C++ casts and add some conversions. Where possible, increase const-correctness. Remove trivial conversion function BSTRToQString(). Task-number: QTBUG-50804 Change-Id: I1820d4693db8bc0dfa6c4a5fecd768cf64a4405c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Windows Accessibility: Refactor code creating COM arrays.Friedemann Kleint2016-02-261-18/+29
| | | | | | | | | | | | | | | | | | Introduce a convenience function for allocating arrays and use algorithms. Task-number: QTBUG-50804 Change-Id: Iead75f8297923fd13efcfc7987f76262777d074b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Fix potential crash in QWindowsIA2Accessible::QueryInterface().Friedemann Kleint2016-02-261-2/+0
| | | | | | | | | | | | | | | | | | | | QWindowsIA2Accessible does not implement IAccessibleRelation (found when replacing the C-style casts by static_cast<>). Remove the corresponding branch. Task-number: QTBUG-50804 Change-Id: I80901634044f85e413666f34b91be2e6ad70da91 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Windows QPA: Apply scaling when fixing maximized/frameless geometry.Friedemann Kleint2016-02-261-4/+5
| | | | | | | | | | | | | | Task-number: QTBUG-8361 Task-number: QTBUG-51327 Change-Id: I590702df8f6313701fe69d0873657c6af53fee16 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * Fix QHighDpi::fromNative(QRect, QScreen *, QPoint).Friedemann Kleint2016-02-261-1/+1
| | | | | | | | | | | | | | | | Call fromNative() instead of toNative(). Task-number: QTBUG-46615 Change-Id: I1e648a2680126d1f560e71573f7346b053fe676b Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * Windows QPA: Fix scrolling down with mouse wheel.Friedemann Kleint2016-02-261-1/+1
| | | | | | | | | | | | | | | | | | Use GET_WHEEL_DELTA_WPARAM() instead of HIWORD and casting. Fix breakage introduced by b20548f9999d8c111268f3f2287c0801c6c5cbb0 . Change-Id: I11bd97d73c12d72e824e3f769e9c402975f27d48 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QWindowsTheme: Run SHGetFileInfo() in a thread.Friedemann Kleint2016-02-264-12/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | Windows 10: SHGetFileInfo() (as called by item views on file system models has been observed to trigger a WM_PAINT on the mainwindow for totally obscure reasons, causing a recursive repaint. Suppress this by running it via QThreadPool. Task-number: QTBUG-45298 Task-number: QTBUG-48823 Task-number: QTCREATORBUG-14888 Change-Id: I7479102b9b8fb0771681260298c3d735e66f220f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QScreen::grabWindow(): Scale the coordinates.Friedemann Kleint2016-02-261-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The coordinates need to be scaled before calling QPlatformScreen::grabWindow() On return, set a devicePixelRatio on the pixmap. Adapt the QWidget test to scale the grabbed pixmaps. Fixes pixeltool displaying the wrong part of the screen when High DPI scaling is in effect. Task-number: QTBUG-46615 Change-Id: I12de7df0da669230cf0fae74f4a42d43f061d5ff Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * QMacPrintEngine: Really set the printer resolutionKai Pastor2016-02-251-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | As already reported in 2009 (Qt 4.6) QPrinter never actually set the printer resolution. This change adds the necessary call to PMPrinterSetOutputResolution (available since OS X 10.5). [ChangeLog][QtPrintSupport][OS X] QMacPrintEngine now really sets the printer resolution. Task-number: QTBUG-7000 Change-Id: I3e851b62e1a7ed78564a8a6fd576b0a18d7eff63 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * Add missing initializations in QWheelEventJan Arve Sæther2016-02-251-3/+6
| | | | | | | | | | Change-Id: I77f014934b97aa6729d568996f0e6c03feb44588 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Fix QDBusPlatformMenu::menuItemAt()J-P Nurmi2016-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | Other platform menu implementations check that the index is not out of bounds, so make QDBusPlatformMenu::menuItemAt() do the same. Change-Id: I1d2e42681f2dbfff8b80044141d620bddbc3b6aa Task-number: QTBUG-51372 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
| * QWindow: Use scaling when calling QPlatformWindow::mapTo/FromGlobal().Friedemann Kleint2016-02-251-2/+2
| | | | | | | | | | | | | | | | The platform window API uses native pixels. Task-number: QTBUG-50206 Change-Id: I1385d34bb0eacd61d77cad483e2a863d129ed129 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * QSqlDriver::sqlStatement: documentation fixMark Brand2016-02-241-0/+11
| | | | | | | | | | | | Change-Id: I12bd612c48020594b5377b04aeccc51f7c4be53d Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Vyacheslav Grigoryev <armagvvg@gmail.com>
| * QPixmap: check data ptr in isQBitmap()Anton Kudryavtsev2016-02-241-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-51271 Change-Id: I670e074ced1217d2614fa334eb365e40ef80b8b1 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QtTest: eradicate all Q_FOREACH loopsMarc Mutz2016-02-293-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 ramge-for loops. In one case, I took the liberty to remove a useless if(isEmpty()) check around a for loop. Now that we don't use Q_FOREACH anymore, we don't incur the copy for empty containers anymore. Left the indention of the loop level to avoid code churn. Saves 1.8KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I1b1fb34847f6a631f0d580fd5261c7f5fed8475c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QVector: preserve capacity in clear()Marc Mutz2016-02-2911-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what std::vector implementations usually do, because it minimizes memory fragmentation and useless allocations since no user will call clear() unless she intends to append new data afterwards. Fix calls to resize(0) that show how existing code tried to work around the issue. Adjust test. Port from QVERIFY(==) to QCOMPARE as a drive-by. [ChangeLog][QtCore][QVector] clear() now preserves capacity. To shed capacity, call squeeze() or swap with a default-constructed QVector object, see the documentation for an example. Change-Id: I9cebe611a97e027a89e821e64408a4741b31f1f6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QtWidgets: eradicate Q_FOREACH loops [rvalues]Marc Mutz2016-02-289-22/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. This is the simplest of the patch series: Q_FOREACH took a copy, so we do, too. Except we don't, since we're just catching the return value that comes out of the function (RVO). We can't feed the rvalues into range-for, because they are non-const and would thus detach. Saves 2.2KiB in test size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I914aa20fe65577b2e32ea7ea89d51a8d003a57ba Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: eradicate Q_FOREACH loops [QVarLengthArray, std containers]Marc Mutz2016-02-282-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_FOREACH over a QVarLengthArray or std containers is a particularly bad idea (because of the deep copy that Q_FOREACH then performs). Use C++11 range-for (without qAsConst(), because neither QVLA nor std containers are CoW). Saves 5.7KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I4c1fb0b488bb08726912528b559840a45c1397df Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: prevent detach attempts from first()/etc. use [dialogs, kernel, ↵Marc Mutz2016-02-2614-42/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | util, widgets] The algorithm used was: - If possible, just declare the container const - Otherwise, for first()/last(), use constFirst()/constLast() and for front()/back(), to not destroy the use of the STL API subset, use qAsConst() Did some caching of function returns here and there, and converted one 0 to nullptr as a drive-by. Also saves almost 4KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I04b7bfd68dc85c22de247cb65a310e1cbbca1e8c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | ItemModels: replace QLatin1String with QStringLiteralAnton Kudryavtsev2016-02-262-4/+9
| | | | | | | | | | | | | | | | | | | | | | ... wherever it allocates memory. Since the string literal is used in more than one function, to avoid duplication of .rodata, wrap the QStringLiteral in an inline function. Change-Id: If4fca7443b3150b1c8360c850da32f5c567c1065 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QCocoaKeyMapper - correctly update key layoutsTimur Pocheptsov2016-02-251-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | QCocoaKeyMapper has 2 bugs: - fails to update layouts even if input source changed - while looking for the possible keys it clears bits for neededMods thus making later shortcut match impossible Change-Id: Ie230b973acd5ca6f50b97ca4901ede61b581d273 Task-number: QTBUG-50865 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | Add We-mean-it comment to qnetworkdatagram_p.h.Friedemann Kleint2016-02-251-0/+11
| | | | | | | | | | | | | | | | Fix warning: WARNING: qtbase/src/network/kernel/qnetworkdatagram_p.h does not have the "We mean it." warning Change-Id: I65fc2dc9129b194b08865e3486fae4d0cad3f3d3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Improve QCOMPARE output of char comparisonsAllan Sandfeld Jensen2016-02-251-1/+47
| | | | | | | | | | | | | | | | | | Make actual and expected values of char tests more useful by using C syntax. This means we can actually read non-printable characters. Task-number: QTBUG-51294 Change-Id: I031e15916a2882c0499b6217ae1649d4eea09eb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add QResource to the bootstrap libraryErik Verbruggen2016-02-253-0/+4
| | | | | | | | | | | | | | | | | | It's very useful for bootstrapped tools to be able to include resources. Those can now be accessed through the QResource API. Change-Id: Ie8247877a9a4a81cec006bab2b58331270487aef Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QtPlatformHeaders/Windows: Add function to set window activation behavior.Friedemann Kleint2016-02-2510-3/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Windows OS by default does not activate windows when the calling process is not active; only the taskbar entry is flashed as not to distract the user. Nevertheless, for some use cases, it is desirable to activate the window also in the inactive state. Introduce an enumeration specifying the behavior to QtPlatformHeaders and employ a workaround using the Win32 API AttachThreadInput() to attach to other processes while setting the foreground window to achieve the AlwaysActivateWindow behavior. Task-number: QTBUG-14062 Task-number: QTBUG-37435 Change-Id: I79cb6cd3fab29d55b5d3db7f9af01bbaa5096a37 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QtGui: use reserve to optimize memory allocation.Anton Kudryavtsev2016-02-253-1/+5
| | | | | | | | | | Change-Id: I34a571b67840557de19ab496cadebd698c7f4f6a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QtCore: replace QStringLiteral with QLatin1String when appendingMarc Mutz2016-02-255-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to use QStringLiteral for strings which are immediately appended to, or which are appended to other strings, because no dynamic memory allocation is saved by doing so. But if the only advantage of QStringLiteral does not apply, all its disadvantages dominate, to wit: injection of calls to qstring dtor, non-sharability of data between C strings and QStringLiterals and among QStringLiterals, and doubled storage requirements. Fix by replacing QStringLiteral with QLatin1String. Saves 1156B in text size on stripped optimized Linux AMD64 GCC 4.9 builds. Change-Id: If805e431f570ec1d2ac62c548f516f1b17390c3a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtNetwork: don't use Boyer-Moore for single-character needlesMarc Mutz2016-02-242-11/+4
| | | | | | | | | | | | | | | | | | | | | | Using Boyer-Moore for single-character search strings makes no sense since there can be no skipping beyond the normal sequential search anyway. So, port to QByteArray::indexOf(char). Change-Id: I848e2ceea5ceafd0ebae402798b410f682348a75 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Perfect (almost) Qt on Android splash screen.BogDan Vatra2016-02-246-26/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to show the splash image immediately when the application starts, because it will be removed shortly in QtActivityDelegate.java, therefore show the splash in QtActivityDelegate.java. This patch also adds a new option to AndroidManifest.xml which keeps the splash screen visible until user to decides to hide it, by using the QtAndroid::hideSplashScreen() function. Change-Id: I8a29a5a757d626c4c9d6a2748a60ca3091ebf82d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | QMimeTypeParser: scope a variable betterMarc Mutz2016-02-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The variable being a QVector, this means replacing default construction followed by one move-assignment per loop iteration with a StartElement state with RVO-catching a return value. Saves ~320b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I618d31ad0816f9ad1a89a6b2e39481258f1e0878 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMimeTypeParser: don't use the heap to create QMimeMagicRulesMarc Mutz2016-02-241-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function createMagicMatchRule() returned a heap-allocated QMimeMagicRule, and the caller code did not check the return value for nullptr, but copied the rule into a container before deleting the original again. Fix by returning by-value instead. Every C++ compiler will use RVO for this. On top, add an optimistic std::move() when inserting the rule into the container (currently QList, so no rvalue-push_back, yet). While touching the return value, also remove an unholy out-parameter with just local effects by returning a Result struct instead. The rest of the code remains full of out- parameters, of course. Add one Q_UNLIKELY and two qUtf16Printable() as drive-bys. Saves ~300b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I4374ab41f38502cd5c64ac37d106ca4bc6e00327 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMimeTypeParser: use QStringBuilder moreMarc Mutz2016-02-242-11/+7
| | | | | | | | | | | | | | | | | | | | | | Replace QString::arg() with QStringBuilder, use QStringLiteral where appropriate, and remove it where it isn't (e.g. in QStringBuilder expressions). Saves ~750b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I2471c849db79f477677213f9a155053248800590 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMimeTypeParser: use QStringRef moreMarc Mutz2016-02-243-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep the return values of QXmlStream*::value() around as QStringRefs for as long as possible. Avoids conversions to QString, among other things, for: - comparison to another string - conversion to int - conversion to UTF-8 or Latin-1 byte arrays Add a pair of Q_UNLIKELY as a drive-by. Saves ~900b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I17d440a11aeb8675979483f89e66d0a088ccc605 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtGui: replace QStringLiteral with QLatin1String when appendingMarc Mutz2016-02-242-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to use QStringLiteral for strings which are immediately appended to, or which are appended to other strings, because no dynamic memory allocation is saved by doing so. But if the only advantage of QStringLiteral does not apply, all its disadvantages dominate, to wit: injection of calls to qstring dtor, non-sharability of data between C strings and QStringLiterals and among QStringLiterals, and doubled storage requirements. Fix by replacing QStringLiteral with QLatin1String. Saves 104B in text size on stripped optimized Linux AMD64 GCC 4.9 builds. Change-Id: I36b6a9bb1963b69361cc3a3db0971e1db92f0080 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: replace QStringLiteral with QLatin1String when appendingMarc Mutz2016-02-242-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to use QStringLiteral for strings which are immediately appended to, or which are appended to other strings, because no dynamic memory allocation is saved by doing so. But if the only advantage of QStringLiteral does not apply, all its disadvantages dominate, to wit: injection of calls to qstring dtor, non-sharability of data between C strings and QStringLiterals and among QStringLiterals, and doubled storage requirements. Fix by replacing QStringLiteral with QLatin1String. Saves 288B in text size on stripped optimized Linux AMD64 GCC 4.9 builds. Change-Id: Ie632f25883163f57991264b29e8753fe4c4f738e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QSqlDriver:sqlStatement: respect generated flags for WHERE tooMark Brand2016-02-241-1/+6
| | | | | | | | | | Change-Id: I90034cd1a8dc0473c36d788c6737493a51641b02 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* | xcb: Remove unneeded null pointer checksBłażej Szczygieł2016-02-243-14/+4
| | | | | | | | | | | | | | | | | | | | Since a094af001795c9651b299d700a992150d1aba33a we don't need any null pointer checks for xcb screens. This reverts patch 7532fb4e61fc4102fd11022f57f7d8195414167b Change-Id: I8b90ed538aad4403650ef42aab6f39de5861d9ed Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7Liang Qi2016-02-2448-349/+516
|\ \