summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Documentation: Add missing event type for non-client mouse eventsKrzysztof Kawa2017-10-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation is missing the specialized event type names in the non-client mouse event enum description. Task-number: QTBUG-55018 Change-Id: Ica35994e13fc9a637a52eeca361898f8669fdbd1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * QUdpSocket: make sure receiveDatagram() returns empty on errorThiago Macieira2017-10-071-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the datagram reception failed, we forgot to set the buffer back to empty. The returned QNetworkDatagram did report isValid() == false, but it was possible to get the .data() and check its size, getting nonsense. Tests in the next commit. Change-Id: I638cf58bfa7b4e5fb386fffd14ea91adf2133d47 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix deprecated API usageJake Petroules2017-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends c1cece8e54 For some reason, this was missed in the original change. This is now outright prohibited in the watchOS 4 SDK and will cause a compilation error on that platform. Change-Id: Iaa2edf6256a54ca11dec9f1efd8a4d18ba7dc046 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Merge remote-tracking branch 'origin/5.9.2' into 5.9Liang Qi2017-10-062-1/+5
| | |\ | | | | | | | | | | | | Change-Id: Iaae1d9efe6b9267e8e8349905811525ff344e00c
| | | * Fix crash with clips entirely outside glyph mapAllan Sandfeld Jensen2017-09-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the range to work on is empty just continue to next span. Task-number: QTBUG-63412 Change-Id: Ic5cb77ed438eb9c218f482095aa0cd4e3c2fc6e6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * Cups: Check the created QPrintDevice is valid before using itAndy Shaw2017-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-63293 Change-Id: Ibde0e8db955f6f3647b31cef8561d0744754cec1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | Fix zero-length lines with scalingAllan Sandfeld Jensen2017-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should calculate the pen width based on the scaling similar to how it is done for normal lines, otherwise we get the scaling applied twice. Task-number: QTBUG-61777 Change-Id: Iba71d55971a1d29537d2c9ff33749223a06160de Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * | Prevent changing the width for layout item's rectMika Salmela2017-10-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For gridlayout items the x position is rounded, but the QRectF changes the width to keep the right edge. The width is yet calculated exactly for the text so we need to preserve it. Task-number: QTBUG-61244 Change-Id: I823ba742c9ab299740232b5d9b4ad5713e1782c4 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * | XCB platform: Fix crash on X servers with BGR888 displayEirik Aavitsland2017-10-061-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the native visual was BGR888, the XCB plugin would assert as soon as it needed to find the corresponding QImage format. Fix by adding the required mapping in qt_xcb_imageFormatForVisual(). Task-number: QTBUG-62840 Change-Id: Idd9eb01a60f605ad004d5b0c3025ded63ed64271 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * | Windows: Let topmost and bottom windows use raise and lower respectivelyMårten Nordheim2017-10-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 329a029c361bcbaf70f3aa919693f0bef48a152f made ::raise and ::lower do nothing for topmost and bottommost windows. This made it impossible to e.g. raise one topmost window above another topmost window using QWindow::raise. Task-number: QTBUG-62021 Change-Id: I5f60816cbc48d69c0411e3bd68852d8bd8e300bb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | QUrl: re-fix the setPath("//path") case leading to scheme://pathThiago Macieira2017-10-061-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commits aba336c2b4ad8926dc8a000718bbb7f8a6d5a72d (in Qt 5.2) and aba336c2b4ad8926dc8a000718bbb7f8a6d5a72d (in 5.6) both tried to deal with this problem, with different levels of success. This is the third attempt (and hopefully the charm). Instead of modifying the path that the user provides, go straight ahead and declare it invalid. This is supported by RFC 3986, which declares this expansion impossible: relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-empty path-abempty = *( "/" segment ) path-absolute = "/" [ segment-nz *( "/" segment ) ] path-noscheme = segment-nz-nc *( "/" segment ) The "path-abempty" and "path-noscheme" cases are the two issues we already handle. This commit adds the third one: path-absolute, which requires that the first segment of the path be of non-zero length. That is, it is now possible again to have http://example.com//path constructed piece-wise, without it producing http://example.com/path. Additionally, it catches the case of http://example.com//path parsed from full URL then followed by setAuthority(""). Change-Id: I69f37f9304f24709a823fffd14e67a5e7212ddcd Reviewed-by: David Faure <david.faure@kdab.com>
| | * | Doc: Remove unsupported systems out of QNetworkDatagram's listThiago Macieira2017-10-061-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't support Windows versions prior to 7 nor Windows CE anymore. Change-Id: I638cf58bfa7b4e5fb386fffd14ea930155d67689 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | Improve performance in QThreadPoolSvenn-Arne Dragly2017-10-042-31/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When many runnables are executed, this improves the performance by not resizing the queue for each runnable, which was the case in the previous version, because of many calls to QVector::takeFirst(). Also add a test that makes sure tryTake() is safe to call and does not leave the queue in a bad state that tries to use nullptr entries. Change-Id: I608134ecfa9cfc03db4878dcbd6f9c1107e13e90 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | Remove // from license textKai Koehne2017-10-041-32/+32
| | | | | | | | | | | | | | | | | | | | Change-Id: I252b296713e03b749c6e99391a6928c942474378 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | macOS: Defer update request on drawRect: when a real expose event is neededTor Arne Vestbø2017-10-173-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The semantics of QWindow::requestUpdate() is that it's used when the window needs updates outside of the normal window invalidation callbacks such as expose and resize events, e.g. when doing animations. As a result, user code might not be prepared to handle window invalidations in the update-request callback, assuming those will still be delivered as normal, so that's what we do. This was exposed by resizing one of the simpler Qt Quick examples, where the resize's expose event was delivered as an update request, but didn't trigger an unconditional draw of the window as it should, as the scenegraph didn't change in response to the resize, which is typical for an update request. Change-Id: Ida8f85f1cf61c332aa9b199520e6854c48d3ab40 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | macOS: Mark the widget's container as embedded when placed into NSMenuItemv5.10.0-beta2Tor Arne Vestbø2017-10-162-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we'll end up creating a NSPanel for the QMacNativeWidget which is never closed, even if the backing NSView is moved to a new superview. Ideally this would be based on [NSView viewDidMoveToSuperview] and [NSView viewDidMoveToWindow], with retain/releases of the corresponding NSWindow, but that needs more research, especially as AppKit on macOS 10.13 will always keep a strong reference to the NSWindow. Task-number: QTBUG-63443 Change-Id: I9eec5ea871373d00dedf154600bf7005898cf37a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | macOS: Add support for non-window backed offscreen surfacesTor Arne Vestbø2017-10-163-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The modern approach to offscreen rendering on macOS is via FBOs, which means there's no reason to allocate an NSView and corresponding NSWindow just for that. In the offscreen case the NSOpenGLContext has a nil-view. Change-Id: I2d1d407069af4d5283e6f56fba83db8eaf694ac6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | HTTP/2 protocol handler: tweak receive window sizesTimur Pocheptsov2017-10-164-25/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using the default ones, provided by RFC7540. It appears they are way too restrictive and conservative: when downloading something relatively big, a stream keeps spending the whole session/its own 'recv' windows and thus we have to constantly send WINDOW_UPDATE frames. This significantly slows down our HTTP/2 implementation, making it orders of magnitude slower than HTTP/1.1. To fix this: - We send SETTINGS_INITIAL_WINDOW_SIZE in the first SETTINGS frame to inform our peer that per-stream WINDOW is bigger than 64Kb - We increase the session's receive window size. Task-number: QTBUG-63722 Change-Id: I31312fcfd5f0fc0aee6aaa5d3562cc7d1b931adc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | configure: make C++11 <random> a required functionalityThiago Macieira2017-10-162-21/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Error out if it's missing or broken (Mersenne Twister not present). This ensures that we never have a low-quality random generator in Qt. Change-Id: I0a103569c81b4711a649fffd14ec80649df7087e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Don't lose precision in QMacTimeZonePrivate::previousTransition()Edward Welbourne2017-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NSTimeInterval is a typedef for double, but the code stored its value in an int, and only then multiplied by 1000. Fix by only truncating NSTimeIntervals to int(64_t) *after* the multiplication by 1e3 to get milliseconds. While it's highly unlikely that a transition will have fractional seconds length, don't assume if you can just calculate the more exact result. Adapted-From: Marc Mutz <marc.mutz@kdab.com> Change-Id: I0911b9c945a94ca24c3dfb23ed6a849141076326 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | Fix QWinEventNotifier for auto-reset eventsJoerg Bornemann2017-10-153-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Auto-reset events are automatically reset to non-signaled when we get notified about the signaled state. This implies that we cannot check the event state again in activateEventNotifiers. Instead, store the signaled state in a QAtomicInt and test and decrement that. This amends commit 85403d0a. Task-number: QTBUG-63555 Change-Id: I0adee3d2929783f98d91060f9106c8b5266d72fa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Unify wording in documentation to use 'top-left' instead 'upper-left'Christian Ehrlicher2017-10-142-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Qt documentation is using 'upper-left' everywhere except at QRect(F) detailed description and Qt::CoordinateSystem enum description. Therefore fix it in those four places to be consistent. Task-number: QTBUG-59981 Change-Id: Ie652044d0207ea5a42888d9e1f1dc9a86b1e9410 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | QVulkanInstance: Fix compilation with MSVC2013Friedemann Kleint2017-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use assignment. Fixes: vulkan\qvulkaninstance.cpp(811) : error C2061: syntax error : identifier 'd_ptr' vulkan\qvulkaninstance.cpp(812) : warning C4551: function call missing argument list vulkan\qvulkaninstance.cpp(813) : error C2659: '=' : function as left operand vulkan\qvulkaninstance.cpp(814) : error C2440: 'return' : cannot convert from 'QVulkanDeviceFunctions *&(__cdecl *)(void)' to 'QVulkanDeviceFunctions *' There is no context in which this conversion is possible vulkan\qvulkaninstance.cpp(832) : error C2061: syntax error : identifier 'd_ptr' vulkan\qvulkaninstance.cpp(833) : error C2541: 'delete' : cannot delete objects that are not pointers vulkan\qvulkaninstance.cpp(834) : error C2659: '=' : function as left operand Change-Id: I859b141aa0cb24b1f85dc9f229262a4145651d7c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Doc: fix QRandomGenerator missing updates after renameThiago Macieira2017-10-141-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 282065d443c2a2d6b9e32d786c2c1c7552ba3cb5 renamed the generator functions but we didn't update all the docs. Change-Id: I0a103569c81b4711a649fffd14ec877ffbfe710d Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | QRandomGenerator: improve internal noexceptnessThiago Macieira2017-10-141-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are a couple of Q_ASSERT wrapped by the new noexcepts, but most of those aren't validation of external parameters, only of internal construction. The two exceptions are the checks for pointer alignment. Change-Id: I0a103569c81b4711a649fffd14ec8523d741dfb6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QNetworkInterface: don't include addresses from inactive interfacesThiago Macieira2017-10-141-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incidentally, we can fix a typo. [ChangeLog][QtNetwork][QNetworkInterface] Changed allAddresses() to not include addresses found in inactive interfaces, matching the user expectations of this function. If those addresses are needed for some purpose, the application will need to call allInterfaces() and obtain the addresses in each interface. Task-number: QTBUG-51922 Change-Id: Iaf4157b7efa2416d898cfffd14d969c963ec0a2a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | QTest: make toString(QHostAddress) workThiago Macieira2017-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | I don't know why this needs to be a template specialization instead of overload, like all the other toString overloads. With GCC 7, it was calling QTest::toString<QHostAddress>, which returns nullptr. Change-Id: I638cf58bfa7b4e5fb386fffd14ea7add0eef8f87 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Printsupport: Not necessary to call setLayout when we added the parentLaurent Montel2017-10-123-4/+1
| | | | | | | | | | | | | | | Change-Id: I3504afbc7bb1aaa8c2619532fa4e05740dd6f3c4 Reviewed-by: David Faure <david.faure@kdab.com>
* | | Fix spelling in qWaitFor commentTor Arne Vestbø2017-10-121-1/+1
| | | | | | | | | | | | | | | Change-Id: I0ac67de3371ee36c21e124e88845aaae63a73f6e Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | qopenglcontext_p.h: Fix Clang warning about include resolutionFriedemann Kleint2017-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kernel/qopenglcontext_p.h included opengl/qopengl.h as "qopengl.h", triggering: In file included from ..\..\include\QtGui\5.11.0\QtGui\private/qopenglcontext_p.h:1: ..\..\include\QtGui\5.11.0\QtGui/private/../../../../../src/gui/kernel/qopenglcontext_p.h(58,10): warning: #include resolved using non-portable Microsoft search rules as: ..\..\include\QtGui/../../src/gui/opengl/qopengl.h [-Wmicrosoft-include] Task-number: QTBUG-63512 Change-Id: I867a8f2ceeb8a9369dfe0163c179572feadc033e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Doc: move QKeyValueIterator documentation to the right fileSamuel Gaist2017-10-112-120/+120
| | | | | | | | | | | | | | | | | | | | | | | | The documentation of QKeyValueIterator was in the wrong place. This patch moves it with the other iterators documentation. Change-Id: I42ad529f72f9b19fdecfca7ddfeb6e6f4dcfebac Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | | Doc: fix indexOf QRegularExpression overload documentationSamuel Gaist2017-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | That overload documentation was missing the "exact" qualifier regarding the search result. Change-Id: I27a08b60f9b88ae497f8bd9d9ba6a99f4a9ab4d6 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | | Windows Vista Style: Draw dock widget title with Qt::TextShowMnemonicFriedemann Kleint2017-10-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Align with the other styles. Task-number: QTBUG-54485 Change-Id: Ic8d008c59f5acf858b8ba6fbea5dd30b8aa9634c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | PrintSupport: Layout constructor already uses "this"Laurent Montel2017-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | Not necessary to call setLayout here. Change-Id: I761215b46ab4f778786e92338906b5ec7515c53d Reviewed-by: David Faure <david.faure@kdab.com>
* | | PrintSupport: replace 0 with nullptrLaurent Montel2017-10-093-12/+12
| | | | | | | | | | | | | | | Change-Id: Ic5e0000e384989239965f269474d17fa29669db1 Reviewed-by: David Faure <david.faure@kdab.com>
* | | Printsupport: Fix compilation on gcc with -WpedanticLaurent Montel2017-10-091-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic17079e14e90801ed40fddb12d5c1af1b1fa14be Reviewed-by: David Faure <david.faure@kdab.com>
* | | Enable patent-free LCD rendering with FreeType 2.8.1Allan Sandfeld Jensen2017-10-071-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the FreeType LCD rendering path with 2.8.1 even when it has lcd- filtering disabled. This gives us proper subpixel rendering even with a freetype build with the patented lcd-filtering code disabled. The code is also simplified by removing the long pointless ifdefs for 10+ year old versions of freetype. Change-Id: I487e465317cb984b6e33c7bcc497f27cf29f9bcd Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Fix build with -no-opengl and on watchOS in generalJake Petroules2017-10-062-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression introduced in 8e70241dcc. Task-number: QTBUG-63631 Change-Id: I5a2c23e06b790a482e1542ac2db3dcf25927caf2 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Avoid using deprecated APIs on iOS 10.0+Lars Schmertmann2017-10-062-2/+17
| | | | | | | | | | | | | | | Change-Id: Ic9dc6a24ef793a29c2652ad37bc11120e2e6ceef Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | Move detection of <future> to a configure testGiuseppe D'Angelo2017-10-063-23/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <future> is needed by QThread::create. Instead of a fragile series of preprocessor tests, move its detection to a configure test. This dramatically simplifies the code, but on the other hand ties the availability of QThread::create() to the system used to compile Qt (rather the one used to compile an application). Change-Id: If1b06363379bf29126cfa68f2a0651cbb78a67f7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QLockFile: don't use QCoreApplication::applicationName()Thiago Macieira2017-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That was stupid for two reasons. First, applicationName() can be changed by the user by calling QCoreApplication::setApplicationName(), so if that happens, we won't be able to properly identify a lock belonging to a given application because the name changed. Second, because applicationName() is not what we compare to. Instead, let's use processNameByPid() on both content creation and verification. [ChangeLog][QtCore][QLockFile] Fixed a bug that would cause QLockFile mis-identify valid lock files as stale if the application name was set with QCoreApplication::setApplicationName(). Change-Id: I0b48fc8e90304e0dacc3fffd14e912a5c98c87e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QLockInfo: Centralize the management of the lock file's contentsThiago Macieira2017-10-064-77/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | We duplicated both the creation of the contents and the check if the file was stale. Centralize everything in qlockfile.cpp. Change-Id: I0b48fc8e90304e0dacc3fffd14e91174af79841f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QLockFile/Unix: drop the use of fcntl(F_SETLK)Thiago Macieira2017-10-062-73/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | F_SETLK is bad. Explanation in the comment. And flock(2) does work with NFS on Linux, so let's just stick to that, which is simpler. We only use the file locks when we attempt to delete an apparently stale lock: that is, for a lock file that is at least staleLockTime old. Change-Id: I0b48fc8e90304e0dacc3fffd14e908c8c4c9d59b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* | | macOS: Split QCocoaScreen out from qcocoaintegration.mmTor Arne Vestbø2017-10-056-276/+391
| | | | | | | | | | | | | | | | | | | | | | | | It's confusing to keep it along with an unrelated class. Let's keep it in its own file like for most other platform plugins. Change-Id: I449ee061ff9fd5dc7ef06cadd633414d6b16358f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | QMacStyle: smooth QMenu corners for realOleg Yadrov2017-10-054-52/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's been for years that QMenu's rounded corners in qmacstyle_mac were done via QWidget::setMask(QRegion). Unfortunately, QRegion mask does not work well with retina displays and also does not support translucency. That's why in this change we explicitly make QMenu's background transparent and then draw a rectangle with rounded corners in QMacStyle::drawPrimitive(PE_PanelMenu). This not only gives much better result than the mask-based approach, but also de-HIThemes QMenu. As a consequence, QComboBoxPrivateContainer doesn't get any mask from QMacStyle anymore. Therefore, when the mask is empty, we need to paint PE_PanelMenu before invoking QFrame's paint event handler. Made-with: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Change-Id: Ia9236176113f23b86e45507fa6ddf77236084ce3 Reviewed-by: Oleg Yadrov <oleg.yadrov@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | Ensure result of all QTest::qWaitFor are verifiedTor Arne Vestbø2017-10-051-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The qWaitFor functions themselves can not trigger a test failure, as that will not result in the test function exiting early, so every single call to qWaitFor needs to be wrapped in a QVERIFY. Change-Id: Id15a1549f31d06cdbf788e1d84ea431c28636ec8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Liang Qi2017-10-0548-240/+402
|\ \ \ | | | | | | | | | | | | refs/staging/5.10
| * | | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-0448-240/+402
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/corelib/global/qglobal.h src/corelib/tools/qcryptographichash.cpp src/corelib/tools/qcryptographichash.h src/corelib/tools/qmessageauthenticationcode.cpp src/plugins/platforms/windows/qwindowswindow.h tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST Change-Id: Ib68112de985a3d714c2071f47c10e907e4f0229a
| | * | OCI: Clear the cache in the result for a forward only queryAndy Shaw2017-10-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the query is forward-only then nextIndex() is always 0, therefore the cache values need to be cleared beforehand so that they are not reused when the next row is retrieved. Task-number: QTBUG-57765 Change-Id: I49e8427b24ec2d932e5b387699ac7f3496e9a48c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | Fix strict-prototypes warning with qVersion functionJake Petroules2017-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is enabled by default with Xcode 9 and would therefore be seen by anyone calling this function from C or Objective-C. Task-number: QTBUG-63450 Change-Id: Iecd67017b6774c9f2fce2433002ff852058dd3ed Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>