summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QString: mark relational operators (and compare()) nothrowMarc Mutz2015-12-132-62/+63
| | | | | | | Saves ~3K in QtCore text size on GCC 4.9 Linux AMD64 relase builds. Change-Id: I74171ba5499de200b9584660241ca1fae4bcad79 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QChar: mark remaining relational operators nothrowMarc Mutz2015-12-131-4/+4
| | | | | | | | | | Equality and inequality were already marked nothrow, but less/greater than (or equal) were not. Fixed. Change-Id: I3f7a3388b31fcaa2535353f357b5bd1fc86f261d Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* network: Pass types with copy-ctor or dtor by const-refSérgio Martins2015-12-1310-22/+21
| | | | | Change-Id: I7bea3e03bff6f424b02335476211dd466ce4d720 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* widgets: Pass non-trivially-copyable or large types by const-refSérgio Martins2015-12-1210-10/+20
| | | | | Change-Id: I912c6a9ee7b27350ac3d1fe147b697338e76f53c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Optimize moc: Preallocate space for list of preprocessed symbols.Milian Wolff2015-12-121-0/+4
| | | | | | | | | | | | | Without this, the symbol list is frequently reallocated. The value is a guestimate. It corresponds to a block of memory with the size 262144 * 3 * 8 byte = ca. 6.3 megabytes on a 64 bit machine. Looking at the final size of the symbol list, this seems to fit the common case nicely. Change-Id: Ib546a1ea479f2c6d8ab57be783cdf630f9b54f77 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix compilation of isnan/isinf for MSVC2012.Erik Verbruggen2015-12-111-2/+2
| | | | | | | | | MSVC doesn't define float versions for _isnan/_isfinite, so the double versions need to be used. This is already done in the surrounding functions, but not in these two. Change-Id: Ic183358dc1790279e18d00a08b7279e76c02af60 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* React to changes in the system color palette.Jake Petroules2015-12-112-2/+45
| | | | | | Task-number: QTBUG-49734 Change-Id: Ic7926b53b6ee417c6c6206f7a9d5bb08bfd0c051 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* QStyleOption*V<N>: mark as Q_DECL_DEPRECATEDMarc Mutz2015-12-111-12/+12
| | | | | Change-Id: If9c5ec8193e51b2a8b091f46916fc74d2d03f1df Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Use modern APIs for accessing system palette.Jake Petroules2015-12-111-13/+16
| | | | | Change-Id: I7ac88007be50963deaa43aac46566781696b55f6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Add some functions to convert an NSColor to a QBrush.Jake Petroules2015-12-112-0/+122
| | | | | | | | | | NSColors can be quite complex and store patterns, gradients, dynamic system colors that change based on global state (!), etc. QBrush is a better equivalent to it than QColor. Change-Id: I4b66a1ab85342bbb9efcf78011965ec74e5fc738 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Android: Remove support for API < 16BogDan Vatra2015-12-1025-395/+122
| | | | | | | | | Starting with Qt 5.7 we removed support for API < 16 (Android v4.1) [ChangeLog][Android] Support for Android API < 16 was removed. Change-Id: I8bf396a9d70ab0996965e0c9f629800aa1fa6a45 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Don't allocate memory when creating an invalid QDateTimeSérgio Martins2015-12-101-1/+3
| | | | | | Task-Id: QTBUG-47779 Change-Id: I5aad835c9fbf50962d64d14519ec31cf38cf9e3b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix inconsistent override warnings.Erik Verbruggen2015-12-102-4/+5
| | | | | | | | | | For example: ../../include/QtGui/5.7.0/QtGui/private/../../../../../../../../qt5-dev/qtbase/src/gui/painting/qpaintengine_blitter_p.h:67:18: warning: 'end' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] Change-Id: I2845d8e4b5a7e11c57ac1933a6d152df1ef5d07f Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* add a way to modify CreateProcess parametersJoerg Bornemann2015-12-105-6/+174
| | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QProcess] Added method setCreateProcessArgumentsModifier to QProcess on Windows to enable users to intercept and modify CreateProcess parameters. With such a modifier, calling code can decide whether to inherit handles, modify the STARTUPINFO struct, and pass its own combination of process flags to CreateProcess. Task-number: QTBUG-390 Task-number: QTBUG-6917 Task-number: QTBUG-9350 Task-number: QTBUG-24619 Change-Id: I14757dbbacfebb1c89f52402d36fba0ba9c45f3a Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QCosmeticStroker: fix misleading use of & on bool operandsAnton Kudryavtsev2015-12-101-2/+2
| | | | | Change-Id: I0e885391b220c30fc1482446d1dc9a2be035d45a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Move a reusable image conversion function into QCocoaHelpers.Jake Petroules2015-12-104-14/+43
| | | | | Change-Id: I5fc8f84bd504e405968e212b3125179a2273ae79 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* Xcb: Fix debugging codeUlf Hermann2015-12-103-11/+30
| | | | | | | | | | We need to pass the correct connection and we need a specialization for reply pointers. Also, there is not much of a point in first creating a QString from a QByteArray, only to retrieve a QByteArray again. Change-Id: Ia1bb5655f6229638e3bd2339acadeffc80561b9e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* QLineEdit: fix the shortcut override events on a readonly line editGiuseppe D'Angelo2015-12-091-11/+17
| | | | | | | | | | | | | | | | | | | When a QLineEdit is readonly there's a discrepancy between key press events and shortcut override events. For instance, presses Ctrl+C copies the text unless there's also a shortcut for the same key sequence. In this case, the shortcut override event is not handled, and no text is copied. Fix it by splitting the handling of shortcut override events between "read only" access (copy, select, etc.), which still makes sense on a read only line edit, and write access (paste, ...) which doesn't. [ChangeLog][Important Behavior Changes][QLineEdit] QLineEdit will now accept certain shortcut override events even if it is read only. Change-Id: Ie5b048259b99a1eff0581129e3ad97f27a88fe86 Task-number: QTBUG-21217 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* QAIV - allow users to control single step in ScrollPerPixel modeThorbjørn Lund Martsum2015-12-098-7/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation says that we scroll one pixel, but changing the behavior in 934f06220391eb0e0ebf66a2eb037f48adb4c43c to do that was not well received. People were relying on the undocumented behavior - and the new behavior was considered to be a regression. (Nobody called setSingleStep since Qt in many cases provide a reasonable singleStep - which implied that their programs scrolled with 1 pixel which was quite slow). Furthermore getting the old behavior (auto set of single step) was nearly impossible. However the revert (done in 0e69230d02813f0b7a050645fb7e443bd504ab6a) gets us back to QScrollbar::setSingleStep not working in pixel scroll mode (even without it being documented - but we should also have a working API rather than documenting that it is not working) The previous approach was directly prevented Qt from changing single step (on e.g resize) at all. This patch only prevents Qt from changing when a user explicitly has called the function QScrollBar::setSingleStep (in pixel scroll mode). That is we expect that calls to setSingleStep means that the user actually wants to set the singleStep and doesn't want Qt to control that value. Furthermore it is possible to switch back to the automatically adjusted singlestep with QScrollBar::setSingleStep(-1). [ChangeLog][QtWidgets][QAbstractItemView] QTBUG-7232 - In ItemViews when scrollMode is set to scrollPerPixel, it is now possible to change the single step. Qt will automatically adjust the single step until setSingleStep is called. When setSingleStep is called it will however respect the set and stop doing automatic changes of the value. Calling setSingleStep(-1) will switch mode back to automatic adjust. Task-number: QTBUG-7232 Change-Id: Ibfe0caa9751d3bcc11bfc6e0654a3d1ac35ac8ae Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* iOS: Enable non-pixman NEON drawhelpers for both 32 and 64-bitTor Arne Vestbø2015-12-094-11/+17
| | | | | | | | | | The pixman drawhelpers are implemented using GAS syntax, which the Clang assembler doesn't handle, nor do they work on 64-bit ARM, so we disable them selectively. They are only used for 16-bit surfaces anyways, so it not a big deal on iOS. Change-Id: I78417fabd7f671f9c5d94b6e5fa5ce10d3fc1d27 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* qsql_sqlite: fix segfault in dtor of orphan resultMark Brand2015-12-091-1/+2
| | | | | | | | | | | | | | d79ae904660af7a83dc42a389c2457a8c94020f7 accidentally removed the check on the driver pointer before dereferencing it. This causes a segfault when deleting a result object after its driver has already been deleted. This situation can arise when a database is removed, explicitly or probably also upon unloading the driver plugin, while related results still exist. The problem affected qttools/tests/auto/qhelpcontentmode. Task-number: QTBUG-49836 Change-Id: I8ce8f8a5e27d787309ac2ff644b388e333d76435 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* qsql_sqlite and qsql_sqlite2: don't hold driver data in resultMark Brand2015-12-092-25/+15
| | | | | Change-Id: Ia4f6adc6daaea97ac06246e9d01c6561de1227ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* qsql: remove QSqlCachedResultPrivate::forwardOnlyMark Brand2015-12-092-3/+0
| | | | | | | The override creates unnecessary complexity. Change-Id: I72e6cfd2515315ecb5e7a9744a275f06c90be8d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* qsql_odbc: remove forwardOnly overrideMark Brand2015-12-091-15/+5
| | | | | | Change-Id: I243a374f8053639dcb3213478a1c65855d8613b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* QtBase: use preincrement for iterator typesAnton Kudryavtsev2015-12-092-2/+2
| | | | | | | | | ... because it's useful for non-primitive types. Except for index-based loops, these were the only two remaining instances in QtBase. Change-Id: I0fafa502d78a70f98b4a90f4d3c7fdfbb401a90f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Remove dead code from QWidgetLineControlGiuseppe D'Angelo2015-12-082-8/+0
| | | | | | | | | | The code for _q_clipboardChanged comes from some ancient time (Qt 3's QLineEdit::clipboardChanged, subsequently refactored in Qt 4 and Qt 5). The best part: it has always been a slot doing absolutely nothing. Get rid of it. Change-Id: Icc2c71920377d069529bb7ed7c40c15f46fbb455 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Haiku: Fix compilation of network libraryTobias Koenig2015-12-081-0/+4
| | | | | | | | | Like on some BSD systems, the member of the ifreq structure is called ifr_index and not ifr_ifindex on Haiku OS. Change-Id: I273de0c703b1c89dbac537c68e52db219d2da50e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Haiku: Implement QLockFilePrivate::processNameByPidTobias Koenig2015-12-081-0/+7
| | | | | Change-Id: Ie9b76d14f901f5aadf7409183165eaccc288effd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow Q_CHECK_PTR when asserts are forcedAlex Trotsenko2015-12-081-1/+1
| | | | | | | | | | Since the commit 9f83e75d3fbfc01a5ca8d87b4c33ca1ad848387d we can build the release packages with Q_ASSERTs still enabled. As this feature was targeted to embedded platforms it would be nice to enable Q_CHECK_PTR macro as well. Change-Id: I2d549d92b7196935665d927e6aaed3e9f31593b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add PointerToMemberFunction for ctor of QSignalTransitionAndré Klitzing2015-12-082-0/+26
| | | | | | | | [ChangeLog][QtCore][State Machine] Added constructor overload that takes a pointer-to-member for the QSignalTransition. Change-Id: I80ac6e16d0edf7d2ab09882b6f6db4cbd73364e1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QString::vasprintf: Extract Method parse_length_modifierMarc Mutz2015-12-081-47/+27
| | | | | | | | | | | | | | | | ... and simplify it: De-duplicate ++c by moving it from every case into the switch statement, undoing it only in the default case. Introduce a small helper function can_consume() for dealing with the two-letter length modifiers. Also return the result from each case instead of storing it in a temp variable. Change-Id: I28a527920aabba067ebb2152a67995c8f2ec7ae7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-12-0848-231/+438
|\ | | | | | | Change-Id: I2532c7f7db5e6cc3ef09753d886279816dd662b2
| * QPlatformWindow::initialGeometry(): Pass screen when scaling.Friedemann Kleint2015-12-071-15/+16
| | | | | | | | | | | | | | | | | | Otherwise, the window may up outside the display area when centering on a secondary screen and the primary screen has a different scale factor. Task-number: QTBUG-49803 Change-Id: I91ec7c5348722a90012f80a247e662e96bcbb391 Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
| * WinRT: Prepend '.' to default file suffix.Friedemann Kleint2015-12-071-2/+4
| | | | | | | | | | | | | | | | IFileSavePicker::put_DefaultFileExtension() fails when the '.' is missing, causing the QtWidgets-based dialog to show up (Windows 10). Change-Id: Ifcb870431b792ffa8e4a608dec999225e8383fa9 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * WinRT: Add RETURN_[]_IF_FAILED_WITH_ARGS macros.Friedemann Kleint2015-12-071-0/+10
| | | | | | | | | | | | | | | | Make it possible to pass arguments to the messages by introducing variadic macro versions of RETURN_[]_IF_FAILED. Change-Id: Iec27adb33d9d3211fdc299f07777fcdf33f08a93 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * Add QStyleHints::showIsMaximized().Friedemann Kleint2015-12-072-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Expose QPlatformIntegration::ShowIsMaximized similarly to QPlatformIntegration::ShowIsFullScreen. This allows for applications to adapt their UI to mobile/desktop accordingly. Change-Id: Ic14d16fde11d7d2740b2f4092ae12e88a2f522fd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Don't treat "/etc/localtime" in TZ env var as a valid timezone idMartin Klapetek2015-12-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | On some Debian distros, the TZ environment variable can be set to ":/etc/localtime", which libc defines as "default value". If this is set, the current QTimeZone parsing code will return "/etc/localtime" as the system timezone id, which is clearly wrong. So in that case, just unset the ianaId variable and let the other blocks look for the timezone. Change-Id: I3f5795d0a05f4974a60556387a07a1e2e1e7aa30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Optimize qt_findAtNxFile by reducing the amount of allocationsOlivier Goffart2015-12-071-4/+5
| | | | | | | | | | Change-Id: I94a2b40933f9469f509a4cc54d68138696704ba2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * Android: Implement QInputMethod::keyboardRectangleOlivier Goffart2015-12-076-3/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can use getWindowVisibleDisplayFrame to know the height on the keyboard, and we can use getLocationOnScreen to find out how much the view is scrolled. Since onPreDraw is always called when the view is scrolled or when the keyboard appears or disapear, we can call the native functions from there. This is not working for floating keyboards. [ChangeLog][Android] Implemented QInputMethod::keyboardRectangle Task-number: QTBUG-40731 Change-Id: I7848eb34fece410b29a06bf0bbb2313112fffa68 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * Android: Fix QInputMethod's visible propertyOlivier Goffart2015-12-071-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are many cases in which finishComposingText is called and it does not mean the keyboard will be hidden. Add a check that there are space reserved for the keyboard before closing it. This is not helping with floating keyboards, but it's already better. [ChangeLog] Made QInputMethod's visible more accurate Task-number: QTBUG-42444 Change-Id: I4d706f1ea5ba2f0f6d3ec1921139317bc4f8dafb Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * WinRT: Set TemporaryError in QNativeSocketEngine::accept() when no ↵Friedemann Kleint2015-12-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | connections are pending. This suppresses the emission of QTcpServer::acceptError() from QTcpServerPrivate::readNotification(). Task-number: QTBUG-49776 Change-Id: Icfb686d44c0a396ae2bf5867bd31a91232ef3e3c Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * Q_UNIMPLEMENTED: remove explicit file, line and funcinfo informationMarc Mutz2015-12-071-1/+1
| | | | | | | | | | | | | | | | This information is already registered by the QMessageLogger ctor. Change-Id: Iac378777675f00ad5d07b938605484b1466aa5c5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Initialize function tables without QGuiApplicationAllan Sandfeld Jensen2015-12-075-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | QImage can be used without QGuiApplication, but wihout QGuiApplication the accelerated methods would not be used. This patch changes the initialization of the QtGui function tables to happen in static object constructors on QtGui load, instead of in the QGuiApplication init. Change-Id: Ib58982fbc50fd79122352d021d93a3c99aca5043 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Remove additional copyright noticeRainer Keller2015-12-072-20/+0
| | | | | | | | | | | | Change-Id: I181579d755a79e2e0a26ff2de119d9642183a2ca Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Fix typo in QObject::disconnect() documentationSérgio Martins2015-12-071-1/+1
| | | | | | | | | | Change-Id: I65f95c7f22399b9fea65c44b971afc7efbb73d64 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Fix extract style on Android 6.0BogDan Vatra2015-12-041-2/+5
| | | | | | | | | | | | | | | | A few things were changed in Android 6.0 Task-number: QTBUG-49323 Change-Id: I3112d885881dce541d5c4f3a1561f6c34d75e319 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Respond with a sound for certain message boxes on windowsJan Arve Saether2015-12-045-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a regression (it worked in 4.8) that was probably introduced by the refactoring of the accessibility framework in Qt 5. Now, QPlatformAccessibility::notifyAccessibilityUpdate() is called regardless of isActive(), so its the responsibility of each implementation of notifyAccessibilityUpdate() to check for isActive() where it matters. Task-number: QTBUG-33303 Change-Id: I0d18f8c1890ef679460408b05e704712b886bf7c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * WinRT/QMessageBox: Default to QtWidgets-based dialog for rich text.Friedemann Kleint2015-12-041-0/+5
| | | | | | | | | | | | Change-Id: I071810cc5bc2773df9f6202c4547379d3ecd8b5c Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * windows: enable drop for embedded windowsTim Blechmann2015-12-041-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | when embedding a QWindow into a native win32 window hierarchy, dragndrop is not working, as RegisterDragDrop is not called. the parent HWND is wrapped via QWindow::fromWinId(), which is topLevel, but a Qt::ForeignWindow. it's children are not topLevel. we therefore add a conditon to call RegisterDragDrop on non-topLevel windows whose parent is a Qt::ForeignWindow Change-Id: Id2bfa1130857c21566feae9cb10b62b648d86a72 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * QImage pixelColor and setPixelColor must use unpremultiplied QColorAllan Sandfeld Jensen2015-12-041-8/+22
| | | | | | | | | | | | | | | | | | QColor always uses unpremultiplied alpha, but the new QImage methods were based on the QRgb versions which might be either. This patches fixes the two new methods so they treat QColor alpha correctly. Change-Id: I78a5b875ad4e78ad7fde3b811c6187482b4f6d15 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>