summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix clipping of graphics effects in high dpi modeDaniel Teske2017-03-284-19/+39
| | | | | | | | | | | | | | | | | | | | | | | | | Consider this pseudo code: setSystemClip(region); setSystemTransform( scale 2x ); setSystemTransform( scale 2x ); The second call to setSystemTransform should be a noop. Yet, with the current code in setSystemTransform, the region would be scaled twice by 2x and thus the clipping would be incorrect. Fix that by saving the original untransformed clip and in setSystemTransform recalculate the effective transform. This is also a better fix for QTBUG-44067 / sha: 083a945c166b325298a43ba591b1338d1b0f99b6, since with this patch the order in which system clip, viewport and transform are set does no longer matter. Task-number: QTBUG-57257 Task-number: QTBUG-55698 Change-Id: Ibc232822e97ab116f7173a0cc50bba5a367619d8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Clarify the front face winding order in the Vulkan examplesLaszlo Agocs2017-03-261-0/+4
| | | | | | | | | After applying the correction matrix the front face is CW, not CCW. The examples work either way but fix them up to avoid reader confusion. Change-Id: I491e6dc17c21897a59f36d32061e937f2b6c4c9d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QVulkanWindow: Add missing device wait after user codeLaszlo Agocs2017-03-261-6/+17
| | | | | | | | | | In a multi-threaded setup it is not unlikely that releaseSwapChainResources() will wait for and submit any remaining frame building. Hence a wait is necessary also after invoking the user's implementation. Change-Id: I3c963c05c1c3981980da5e4ff9c572df24a1e473 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Make QLocalePrivate::codeTo*() take QStringViewsMarc Mutz2017-03-263-13/+11
| | | | | | | | | | ... and remove now-superfluous overloads. Adapt the sole user of the (QChar*, int) overload to construct a QStringView first, which removes the ugly cast at the call site. Change-Id: Ie5249d4b1b82d471896548e8a7d83c130ae28130 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Port QLocalePrivate::*ToCode() to QLatin1StringMarc Mutz2017-03-263-32/+19
| | | | | | | | | | | | | | | | | | | The returned data is in US-ASCII (or else Latin-1), and resides in consecutive memory. We can therefore return it in a QLatin1String, which, however, will in general not be NUL-terminated. Many users use the return value as part of a QStringBuilder expression, and those which are not are not pessimized further by this change. The caller in qtimezoneprivate_icu looks as if it could simply zero -terminate the return value and use it as-is, as opposed to converting to UTF-8, but I left the code equivalent to the original just the same. Change-Id: I0e628af8c1320fcff8d0aacf160e859681d2b85a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* SQLite: Disable mutex on connectionsEric Lemanissier2017-03-251-0/+2
| | | | | | | | | | | | By default SQLite opens DB in Serialized mode, allowing connections to be used from several threads simultaneously: https://www.sqlite.org/threadsafe.html According to Qt documentation, database can only be used from one thread. This change opens sqlite dabases in "Multi-thread" mode, so that one does not pay for useless mutex locking for each DB access Change-Id: Ife61f1a648d74c91d3b27a2ce0059d052ccc62b2 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDebug: add op<<(QStringView)Marc Mutz2017-03-242-0/+18
| | | | | | | [ChangeLog][QtCore][QDebug] Added streaming of QStringViews. Change-Id: Id81fae223b60188d541b255b67bc316f9f1b6bef Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Long live QStringView!Marc Mutz2017-03-244-0/+771
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QStringView is a simple container for (const QChar*, int) and (const char16_t*, size_t). It acts as a replacement interface type for const QString and const QStringRef, and enables passing all kinds of string-like types to functions otherwise expecting const QString& - without the need to convert to QString first. The use of this new class is guarded by a macro that enables three levels of QStringView support: 1. offer QStringView, overload some functions taking QString with QStringView 2. like 1, but remove all overloads of functions taking QStringRef, leaving only the function taking QStringView. Do this only where QStringRef overloads tradionally existed. 3. like 2, but replace functions taking QString, too. This is done in order to measure the impact of QStringView on code size and execution speed, and to help guide the decision of which level to choose for Qt 6. This first patch adds QStringView with most of its planned constructors, but not much more than iterators and isNull()/isEmpty(). Further patches will add support for QStringView to QStringBuilder, add QStringView overloads of functions taking QString, and add the complete API of const QString to QStringView. [ChangeLog][QtCore][QStringView] New class, superseding const QString and QStringRef as function parameters, accepting a wide variety of UTF-16 string data sources, e.g. u"string", std::u16string{,_view}, and, on Windows, L"string", std::wstring{,_view} without converting to QString first. Change-Id: Iac273e46b2c61ec2c31b3dacebb29500599d6898 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSFPM optimization in dataChanged: don't re-sort if the order didn't changeDavid Faure2017-03-231-12/+43
| | | | | | | | | | We can quickly check if the change affects sorting by checking whether lessThan(N-1, N) and lessThan(N, N+1) are still true. If this is the case for all changed rows, then we can skip the whole remove+insert+layoutChanged(). Task-number: QTBUG-1548 Change-Id: Ia778b3e8880cc9909eef1f8a016c84235870353d Reviewed-by: Stephen Kelly <steveire@gmail.com>
* Add missing class doc for QVulkanWindowRendererLaszlo Agocs2017-03-231-4/+24
| | | | | | | | The functions are documented but the class does not show up in the docs without the \class. Change-Id: I8a7e4c82ba11354855ca272e5c6be59cf1419f14 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Remove unused QPodList classMarc Mutz2017-03-224-115/+0
| | | | | | | | It's private API, the last in-tree user was removed in acbd7999, but failed to remove the class. Do it now. Change-Id: I26294b535d80b419a2f545a4783014b493a5dc93 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QDockAreaLayout: Simplify QDockAreaLayout::gapRectOlivier Goffart2017-03-222-47/+27
| | | | | | | | Merge with QDockAreaLayoutInfo::itemRect, so it can be re-used fromp the QDockWidgetGroupWindow layout. Change-Id: Ic072eceb786be394f96e378a3ade4462cd1043fd Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
* xcb: Fix embedded Vulkan windowsLaszlo Agocs2017-03-222-3/+21
| | | | | | | | | | | | | | | | Widget windows choose a visual via the GLX or EGL path. Vulkan windows use the default, simple visual chooser. When having a parent, the different visuals can cause a BadMatch. Avoid this by taking the parent's visual. This way the hellovulkanwidget example is now functional on xcb as well (tested on Jetson TX1 with L4T 24.2). While we are at it, stop forcing RGB888 in the format, unless nothing was set. Change-Id: I39ab87e3219c04d4f547325d13d4873d70564411 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Add license attribution for vk.xmlLaszlo Agocs2017-03-222-0/+37
| | | | | | | | Same license as the existing OpenGL stuff. Change-Id: I6d0a77a7213f496971b5c3a8676dedb8e4377ceb Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Introduce QVulkanWindowLaszlo Agocs2017-03-224-2/+3032
| | | | | | | | | | | | | | | | | | | A convenience subclass of QWindow that provides a Vulkan-capable window with a double-buffered FIFO swapchain. While advanced use cases are better served by a custom QWindow subclass, many applications can benefit from having a convenient helper that makes getting started easier. Add also three examples of increasing complexity, and a variant that shows embeddeding into widgets via QWindowContainer. [ChangeLog][QtGui] Added QVulkanWindow, a convenience subclass of QWindow. Task-number: QTBUG-55981 Change-Id: I6cdc9ff1390ac6258e278377233fd369a0bfeddc Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QImageReader: Pass up information about resource errors on openRobin Burchell2017-03-221-1/+10
| | | | | | | | | | If a system runs out of FDs, there is no sense in trying to autodetect the format - as the real problem is the lack of FDs, not the non-existent file. Change-Id: I3302340859c3cc62995ac1b7b3c7b6e6326cb43e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix up QVulkanInstance docsLaszlo Agocs2017-03-221-9/+13
| | | | | | | | | Remove HTML tags. Fix notes that predate the introduction of deviceFunctions(). Add a note about the function wrappers being auto-generated. Change-Id: If99022ce74313c6bb33c3bb7bd6840b6cf26b3be Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Implement a counted QT_FATAL_WARNINGSThiago Macieira2017-03-212-6/+29
| | | | | | | | | | | [ChangeLog][QtCore][Logging] If you set QT_FATAL_WARNINGS to a number greater than 1, Qt will stop the application at that nth warning, instead of on the first one. For compatibility reasons with previous versions, if the variable is set to any non-empty and non-numeric value different from 0, Qt will understand as "stop on first warning". Change-Id: I0031aa609e714ae983c3fffd14676f1826f34600 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QCursor: Add equality operatorsGabriel de Dietrich2017-03-212-0/+52
| | | | | | | | [ChangeLog][QtGui][QCursor] Added equality operators. Change-Id: Iedeab4673b2a77ad2e51a0d50297b12bba3b9505 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Windows QPA: Fix MinGW developer buildOlivier Goffart2017-03-211-1/+1
| | | | | | | | | | | | | | | | | Fix warning: qwindowswindow.cpp: In member function 'void QWindowsWindow::setWindowState_sys(Qt::WindowStates)': qwindowswindow.cpp:1965:74: error: suggest parentheses around arithmetic in operand of '^' [-Werror=parentheses] if ((newState & Qt::WindowMinimized) && (oldState ^ newState & Qt::WindowMaximized)) This is actually a real bug. What was meant was to check if the Maximized flag was changed. This code path is for the case in which the windows becomes minimized, and the maximized state changed. Amends change a02959bb5b43a3f9d881e5213ceedf535202b6a1. Task-number: QTBUG-57882 Change-Id: I1cd32a7080240e4462d3cd4f129c6c1a08409996 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Use fromUtf8() instead of fromLatin1() for QT_RESTRICTED_CAST_FROM_ASCIIhjk2017-03-211-1/+1
| | | | | | | | | | | | | | The change does not change legally observable behavior as the result of using QT_RESTRICTED_CAST_FROM_ASCII is only defined for (a part of) the 7-bit range where Latin1 and UTF-8 are the same. This change does not intend to lift the 7-bit restriction on string literals for which the use of QT_RESTRICTED_CAST_FROM_ASCII is well-defined even though in practice it works now for any UTF-8, which is the presumed encoding outside that range nowadays. Change-Id: If9a4199235396a43f8f26d7591907b21120823ef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/devLiang Qi2017-03-20140-614/+812
|\
| * Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-03-20140-614/+812
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfilesystemengine_win.cpp src/gui/text/qdistancefield.cpp src/plugins/platforms/xcb/qxcbconnection.h Change-Id: I1be4a6f440ccb7599991159e3cb9de60990e4b1e
| | * Set default fbo redirect correctly for QOpenGLWidget viewportsLaszlo Agocs2017-03-181-0/+14
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-59318 Change-Id: Icf2ea4e5ebdeec31750edc8b34a9b9f6bfb64744 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * Fix Windows DnD: Wrong qApp mouse buttons state after external DnDSerge Lysenko2017-03-181-23/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An QApplication::mouseButtons() value could stay outdated after external DnD operations, e.g. dragging an object outside Qt application or vice versa. Also user can cancel DnD with Escape key. Task-number: QTBUG-55885 Task-number: QTBUG-59539 Change-Id: Ia6deb4ae5ccfe77e6d6c2464de40cd06fc71f9b8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * QCocoaWindow: fix geometry issue when only minimumSize is setOleg Yadrov2017-03-183-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When only minimumSize was set and it matched to the size NSView was created with, viewDidChangeFrame() was not called for the window and it's internal geometry value was still (0, 0) what led to unpleasant side effects such as QML content was not displayed until something caused an update. Task-number: QTBUG-58963 Change-Id: Ib12d36d405969971e7ff62b79b50c3d78928a649 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| | * QString: de-deplicate code of leftRef, rightRef, midRefAnton Kudryavtsev2017-03-181-19/+3
| | | | | | | | | | | | | | | | | | | | | | | | Re-use methods of QStringRef. Change-Id: I5ff719c08c54246e9cafd4f9aa0823ff6df8433b Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Include missing errno.hAllan Sandfeld Jensen2017-03-181-0/+2
| | | | | | | | | | | | | | | | | | | | | Fixes linux-clang-libc++ builds. Change-Id: Id75c35d858123193e7d29b0bbb113d2c109a7560 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * When changing screen, only update the font if dpi has changedOlivier Goffart2017-03-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally, this might avoid unnecessary work in a quite common case. But if high dpi scaling is set, the dpi (in logical pixels) does not change. However this event is sent before QGuiApplicationPrivate::processWindowScreenChangedEvent has had time to change the geometry, and might cause a problem in QMenu Amends f3a4b4258f2d207b5a8e73d62822a3afe1bf8a72. Task-number: QTBUG-59484 Change-Id: Ie4ceedcb0754613cf239ae86b225c4139b70d0cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Make QFile::open fail when using an invalid file nameJesus Fernandez2017-03-171-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the bug in QFile which allowed opening a file with reserved characters in its name. If the name is a long file path, CreateFile opens a file with a truncated name instead of failing, so we have to catch reserved characters ourselves. [ChangeLog][Windows] Fixed a bug that caused QFile to create files with truncated names if the file name was invalid. Now, QFile::open correctly fails to create such files. Task-number: QTBUG-57023 Change-Id: I01d5a7132054cecdfa839d0b8de06460039248a3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * QNSView: Harden logic around platform window accessGabriel de Dietrich2017-03-162-0/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some users have reported crashes in -[QNSView mouseEnteredImpl:] which we believe are due to null m_platformWindow. The stack traces are like the one below or similar: 0 libqcocoa_dylib QNSView mouseEnteredImpl_ 0x1F 1 appkit NSTrackingArea _dispatchMouseEntered_ 0xA2 2 appkit NSApplication sendEvent_ 0xF4D 3 libqcocoa_dylib QNSApplication sendEvent_ 0x4E 4 libqcocoa_dylib QCocoaEventDispatcher processEvents 0x184 5 qtcore QEventLoop exec 0x19C 6 qtwidgets QDialog exec 0x20B Moreover, since 2f505b79a49bdf5ba8d084e13ab339bcf956c849, that member is a QPointer, so we should do more systematic checks. Change-Id: Iced447515a4ae07a62734e587f5b08d46d313071 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * warn of blacklisted GLX OpenGL renderers and vendorsJeremy Katz2017-03-161-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Notify users when multithreaded OpenGL is disabled due to the renderer or vendor blacklist. Change-Id: I16a80568afe87b227575102ca839f18050613e90 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | * Secure Transport - add a missing cipherTimur Pocheptsov2017-03-161-58/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Secure Transport supports more ciphers then we can convert into QSslCipher. This results in our tests failing, since after the successful SSL handshake sessionCipher is 'unknown'. This patch adds missing AES256-GCM-SHA384 and also, to make new cipher addition easier in future, sorts cipher suites as it's done in CipherSuite.h (ST framework's header) - grouped by RFC they were introduced in + sorted within their group. As a bonus (thanks to Eddy for spotting this problem) - some copy & paste (?) typos were fixed (mismatched names). Task-number: QTBUG-59480 Change-Id: I61e984da8b37f1c0787305a26fc289e2e7c2b4ad Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * uic & rcc: use the public API to set the hash seedThiago Macieira2017-03-162-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | Instead of relying on a private symbol exported from QtCore. Task-number: QTBUG-47566 Change-Id: I4a7dc1fe14154695b968fffd14abd2b21a18203b Reviewed-by: David Faure <david.faure@kdab.com>
| | * xcb: send keyboard modifiers with every QTabletEventShawn Rutledge2017-03-141-3/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-59415 Change-Id: If64a6513131fd85189e3621cb2a105e80e919ecf Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Do not assume QStringRef(const QString*) to be implicitMarc Mutz2017-03-143-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | It won't be for very much longer. Change-Id: I30e3e0cd8c8ecf0833f759557382a3ded7bdea34 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Liang Qi2017-03-13103-432/+416
| | |\
| | | * Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-13103-432/+416
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network.pro mkspecs/features/mac/default_post.prf src/corelib/io/qfilesystemengine_win.cpp src/corelib/io/qprocess.cpp src/corelib/io/qprocess.h src/corelib/io/qprocess_p.h src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/corelib/thread/qmutex.cpp src/platformsupport/fontdatabases/windows/windows.pri src/plugins/platforms/eglfs/eglfsdeviceintegration.pro tests/auto/corelib/io/io.pro Change-Id: I8a27e0e141454818bba9c433200a4e84a88d147e
| | | | * Enable QStyleHints::useHoverEffects for KDE and other unix systemsNikita Krupenko2017-03-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, it enabled only for Gnome Task-number: QTBUG-59298 Change-Id: Ib44f52b3175ed1904f24ec9e21f00ea3f3334287 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | | * Add -Wfloat-equal to Qt's header clean checkThiago Macieira2017-03-077-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-57649 Change-Id: I15b62e0f9cec482fbb40fffd1490d802c54bf0fe Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | | * Don't call releaseKey a second time if the insertion failsAndy Shaw2017-03-071-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the insertion into the cache fails then it will delete the entry for us which already calls releaseKey(). So we should not call it a second time. Task-number: QTBUG-58259 Change-Id: I816c6f29ef97fe3a245f145c4faf1e0649f72dc5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | | * put load(qt_plugin) at end of project fileOswald Buddenhagen2017-03-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | amends a28364bc1. Change-Id: I8e6044abcbfffde8688d87cd3aa722c0c362534c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | | | * Fix UB in QFutureInterface: invalid casts from ResultStoreBase to ResultStore<>Olivier Goffart2017-03-063-65/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ResultStore never actually exists, only ResutStoreBase does. So casting to ResultStore<T> and calling its member functions is UB. Put the type dependent function as template member functions within ResultStoreBase and so we don't need QtPrivate::ResultStore anymore. Same goes for the iterator. Change-Id: I739b9d234ba2238977863df77fde3a4471a9abd2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | | | * Use QT_CONFIG(library) instead of QT_NO_LIBRARYUlf Hermann2017-03-0643-147/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the windows file system engine, we add an extra macro to use library loading if configured to do so, but avoid it on WinRT, as none of the symbols would be found. We also QT_REQUIRE_CONFIG(library) in the library headers and exclude the sources from the build if library loading is disabled. This, in turn, makes it necessary to clean up some header inclusions. Change-Id: I2b152cb5b47a2658996b6f4702b038536a5704ec Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | | | * forkfd: fix calling the old signal handler when there wasn't oneThiago Macieira2017-03-061-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some stupid systems, execve() may clear the handler but not clear the SA_SIGINFO flag. This change now requires that sa_handler and sa_sigaction be in a union together. We can't operate otherwise. Task-number: QTBUG-59246 Change-Id: I33850dcdb2ce4a47878efffd14a84b48a8f6b1e8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | | | * Make QLocale consistent about special handling of the C localeEdward Welbourne2017-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QLocale::matchingLocales() simply created each locale using the basic data, without (unless the matching conditions stipulated Language C) applying number-options hacks that it applies everywhere else, when creating the C locale. Thus the C locale in its returned list (if it wasn't the only entry) ended up with the default number options, without omiting separators in numbers. Thus QLocale::c() didn't actually appear as an entry in the list. Discovered while investigating QTBUG-58947. Added a dumb autotest that checks various ways of getting the C locale do actually give us equal locale objects. Fixed matchingLocales() to apply the same hack as is used elsewhere for the C locale. Change-Id: I263f31da623052b63171f5b5a83c65802383df21 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | | * QMenu: make wide submenu appear on the same screen with its parent menuOleg Yadrov2017-03-041-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On a multi-display system wide submenu might either appear on wrong screen or not appear at all (depending on the specific display configuration). Task-number: QTBUG-56917 Change-Id: I40013b0bee340a01ae1c08a5e074afa63da4dbfd Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
| | | | * Wide QMenu: fix size and positionOleg Yadrov2017-03-042-30/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes 2 issues related to wide menus: 1) Menu took on full screen height when menu width was larger than screen width; 2) On a multi-display system wide menu might appear on wrong monitor (not the one where show event was triggered). The idea is we limit parent menu and all its submenus within the screen where it was opened. Note that this patch fixes only geometry-related issues and there are also some style flaws which need to be addressed (for example, currently the text does not elide if it doesn’t fit to the menu’s width). Task-number: QTBUG-56917 Change-Id: I7e9ff4a48bf03060d76e34d33a13ad6cc890c133 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| | | | * QMacStyle::sizeFromContents(CT_Menu): take proxy style into accountOleg Yadrov2017-03-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is missed in 10d0f4cba99d2386db28a3afd71832e35992b797 Change-Id: If3566eb4b1f00f6882c290c83e10e51e1bf1d6d9 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| | | | * Remove the last remaining non-SSL use of QMutexPool in QtThiago Macieira2017-03-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-59164 Change-Id: Idd5ceba1eba34cb78c46fffd14a734735991f4fb Reviewed-by: David Faure <david.faure@kdab.com>