- 16 Oct, 2017 - 6 commits
-
-
Tor Arne Vestbø authored
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>
-
Tor Arne Vestbø authored
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>
-
Timur Pocheptsov authored
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>
-
Thiago Macieira authored
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>
-
Edward Welbourne authored
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>
-
Laszlo Agocs authored
Upgrading to a recent Vulkan SDK (e.g. 1.0.61) leads to getting a few previously unseen warnings from the validation layers. Fix these: vkDebug: ParameterValidation: 8: vkCreateSampler(): The samplerAnisotropy feature was not enabled at device-creation time, so the maxAnisotropy member of the VkSamplerCreateInfo structure must be 1.0 but is 0.000000. vkDebug: DS: 461375808: vkCmdPipelineBarrier(): pImageMemBarriers[0].srcAccessMask (0x4000) is not supported by srcStageMask (0x1). The spec valid usage text states 'Any given element of pMemoryBarriers, pBufferMemoryBarriers or pImageMemoryBarriers must not have any access flag included in its srcAccessMask member if that bit is not supported by any of the pipeline stages in srcStageMask, as specified in the table of supported access types.' vkDebug: DS: 6: vkCmdDraw(): Cannot use image 0x7 with specific layout VK_IMAGE_LAYOUT_GENERAL that doesn't match the actual current layout VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL. vkDebug: DS: 61: Descriptor set 0xc encountered the following validation error at vkCmdDraw() time: Image layout specified at vkUpdateDescriptorSets() time doesn't match actual image layout at time descriptor is used. See previous error callback for specific details. Change-Id: I1a3200221ac725c2fa661eff3ac075262b9355c2 Reviewed-by:
Andy Nichols <andy.nichols@qt.io>
-
- 15 Oct, 2017 - 1 commit
-
-
Joerg Bornemann authored
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>
-
- 14 Oct, 2017 - 6 commits
-
-
Christian Ehrlicher authored
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>
-
Friedemann Kleint authored
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>
-
Thiago Macieira authored
Commit 282065d4 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>
-
Thiago Macieira authored
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>
-
Thiago Macieira authored
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>
-
Thiago Macieira authored
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>
-
- 12 Oct, 2017 - 2 commits
-
-
Laurent Montel authored
Change-Id: I3504afbc7bb1aaa8c2619532fa4e05740dd6f3c4 Reviewed-by:
David Faure <david.faure@kdab.com>
-
Tor Arne Vestbø authored
Change-Id: I0ac67de3371ee36c21e124e88845aaae63a73f6e Reviewed-by:
Gatis Paeglis <gatis.paeglis@qt.io>
-
- 11 Oct, 2017 - 4 commits
-
-
Timur Pocheptsov authored
... so that it comments the actual code, not what this code was before. Change-Id: Ib191b9d7bd3ae3cda39a15f0f711cb1dd3c5c2b7 Reviewed-by:
Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by:
Edward Welbourne <edward.welbourne@qt.io>
-
Friedemann Kleint authored
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>
-
Samuel Gaist authored
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>
-
Samuel Gaist authored
That overload documentation was missing the "exact" qualifier regarding the search result. Change-Id: I27a08b60f9b88ae497f8bd9d9ba6a99f4a9ab4d6 Reviewed-by:
Sze Howe Koh <szehowe.koh@gmail.com>
-
- 10 Oct, 2017 - 2 commits
-
-
Friedemann Kleint authored
Align with the other styles. Task-number: QTBUG-54485 Change-Id: Ic8d008c59f5acf858b8ba6fbea5dd30b8aa9634c Reviewed-by:
Andy Shaw <andy.shaw@qt.io>
-
Friedemann Kleint authored
In file included from ..\..\..\mkspecs\win32-clang-msvc\qplatformdefs.h:40: ..\..\..\mkspecs\win32-clang-msvc/../win32-msvc/qplatformdefs.h(51,10): warning: #include resolved using non-portable Microsoft search rules as: ..\..\corelib\global/qglobal.h [-Wmicrosoft-include] #include "qglobal.h" Task-number: QTBUG-63512 Change-Id: Id60b599126049f2bb07db22e721ff5b761a9b1fd Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io>
-
- 09 Oct, 2017 - 3 commits
-
-
Laurent Montel authored
Not necessary to call setLayout here. Change-Id: I761215b46ab4f778786e92338906b5ec7515c53d Reviewed-by:
David Faure <david.faure@kdab.com>
-
Laurent Montel authored
Change-Id: Ic5e0000e384989239965f269474d17fa29669db1 Reviewed-by:
David Faure <david.faure@kdab.com>
-
Laurent Montel authored
Change-Id: Ic17079e14e90801ed40fddb12d5c1af1b1fa14be Reviewed-by:
David Faure <david.faure@kdab.com>
-
- 08 Oct, 2017 - 1 commit
-
-
Thiago Macieira authored
We're not going to crash to avoid core dumps getting recorded by systemd, filling up filesystems or showing dialog boxes. We just need to exit without running destructors. Now, exit() isn't supposed to run function-scope destructors, so just in case we use _exit(). Change-Id: I0b48fc8e90304e0dacc3fffd14e909ff248ce1a1 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@qt.io>
-
- 07 Oct, 2017 - 1 commit
-
-
Allan Sandfeld Jensen authored
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>
-
- 06 Oct, 2017 - 6 commits
-
-
Jake Petroules authored
This fixes a regression introduced in 8e70241d . 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>
-
Lars Schmertmann authored
Change-Id: Ic9dc6a24ef793a29c2652ad37bc11120e2e6ceef Reviewed-by:
Jake Petroules <jake.petroules@qt.io>
-
Giuseppe D'Angelo authored
<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>
-
Thiago Macieira authored
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>
-
Thiago Macieira authored
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>
-
Thiago Macieira authored
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>
-
- 05 Oct, 2017 - 6 commits
-
-
Tor Arne Vestbø authored
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>
-
Oleg Yadrov authored
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>
-
Tor Arne Vestbø authored
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>
-
Liang Qi authored
-
Tor Arne Vestbø authored
The resources allocated by QPlatformBackingStore are owned by the class, and should be allocated in a context the class also owns. This removes the asymmetry of having to pass in a context to composeAndFlush, while having to make the same context current before destroying the platform backingstore. The context owned by QPlatformBackingStore is shared with the associated window though a new QWindowPrivate::shareContext() API. The result is that on e.g. iOS, the backingstore does not need to tie the resource allocation of QPlatformBackingStore to the global share context, but can instead tie them to the per-window context, and hence clean them up after each window is closed. Task-number: QTBUG-56653 Change-Id: Ic1bcae50dafeeafaa8d16a7febd83b840ec6367a Reviewed-by:
Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by:
Laszlo Agocs <laszlo.agocs@qt.io>
-
Timur Pocheptsov authored
Mainly cosmetic - nullptr, explicit, QVector<QString> etc. Plus: do not leak SearchBox. Task-number: QTBUG-60628 Change-Id: I4c538ced64a469fbe4627f44d2d883e6dcd2362e Reviewed-by:
Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by:
Edward Welbourne <edward.welbourne@qt.io>
-
- 04 Oct, 2017 - 2 commits
-
-
Tor Arne Vestbø authored
The call to CGImageCreateCopyWithColorSpace took a naked toCGImage(), which left the resulting CGImageRef without a release, causing the extra ref by toCGImage() to never be derefed, and a subsequent detach of the image data on the next paint event. Wrapping the call in a QCFType<CGImageRef> solves the problem. The code has also been moved directly into QCocoaBackingStore::flush(), as there is no need to keep the CGImageRef a member. A local autorelease pool has been added to QCocoaBackingStore::flush(), so that the NSImage used for blitting the backingstore is released upon exit of the function, thereby releasing the corresponding CGImageRef. Note that for layered mode, the QImage will still detach, as the view's layer.contents property keeps a reference to the image data until being replaced in a subsequent flush. Task-number: QTBUG-63559 Change-Id: I06b9298f65a84deae7cc2eff617ba75c92ec3b87 Reviewed-by:
Morten Johan Sørvig <morten.sorvig@qt.io>
-
Tor Arne Vestbø authored
[ChangeLog][iOS] The minimum deployment target for applications is now iOS 10.0. Change-Id: Icb37e4eaecbf6f62fd3c9293b2abf19a0954a02d Reviewed-by:
Jake Petroules <jake.petroules@qt.io>
-