Commit Graph

37717 Commits

Author SHA1 Message Date
Paul Wicking
74700493c3 Doc: Remove extra \a command causing QDoc macro expansion error
Change-Id: I453a68a579e4fd519616cd1a9f934501b01ef44c
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-14 03:56:09 +00:00
Qt Forward Merge Bot
42f84de26a Merge remote-tracking branch 'origin/5.11' into 5.12
Change-Id: Ic4c1a8041dcfd143861c39e0014fbdaaa3fb25c6
2018-09-14 01:00:08 +02:00
Florian Bruhin
49efea26a5 sqlite: Fix QSqlError handling when opening/closing database
Both sqlite3_open_v2 and sqlite3_close are documented to return an error code:
https://www.sqlite.org/c3ref/open.html https://sqlite.org/c3ref/close.html

However, those were ignored (other than checking whether the operation
succeeded), causing QSqlError::nativeErrorCode() to always be "-1" when there
was an error while opening/closing the database.

Additionally, the error string needs to be read (via sqlite3_errmsg16) in
qMakeError *before* d->access is set to 0, or the databaseText() will always be
"out of memory" no matter what error actually happened.

Task-number: QTBUG-70506
Change-Id: I75cbf178c9711442e640afd26c4502214d20c598
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-13 18:18:47 +00:00
Andy Shaw
c9f316c8b9 ODBC: Correctly check if the field is within the fieldCache range
This was found while running the ODBC tests. tst_QSqlQuery::isNull()
accounts for this already.

Change-Id: Idf99a85396d7aa4e69b89467f873b105ef946f7f
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-13 17:07:57 +00:00
Tor Arne Vestbø
14bae62bd2 Blacklist flaky tst_QGL::graphicsViewClipping on RHEL 7.4
Change-Id: Ic771b263c988525d4b887cb2a1de9f9c7343e49b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:20 +00:00
Tor Arne Vestbø
704a3989d1 Fix spelling mistake in qimage.h
Change-Id: I2138318894587cc0b5f03af14a57b2a39509f0da
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:18 +00:00
Tor Arne Vestbø
2c649856d5 macOS: Clarify what static mutex in QCocoaGLContext is used for
Change-Id: I4af0b78dbecad40b2a73cdbdb09a8eb60efdb013
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:17 +00:00
Andy Shaw
45c1473847 Detect when we are at the sentence boundary
On Samsung devices this would cause it to always to captalize each word
even if it was not a new sentence. Therefore we use QTextBoundaryFinder
to determine if it is a new sentence or not.

Task-number: QTBUG-69398
Task-number: QTBUG-66531
Change-Id: I24bf36f09a2570acfefd4343551cb1720ddc6279
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-09-13 15:36:34 +00:00
Oswald Buddenhagen
b0dce506cc add buildsystem+qmake changelog
Change-Id: Ifb17f3bac7e065e7e50f7c0492ede2faf4c56f27
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-09-13 04:25:10 +00:00
Oswald Buddenhagen
a427b1b551 normalize layout of 5.11.2 changelog
Change-Id: I15fc16072d39e08d549c51097fe39c8ecd4a3a16
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2018-09-13 04:24:49 +00:00
Allan Sandfeld Jensen
bff307ab93 Fix XCB on endian mismatched client and server with SHM off
If SHM is disabled, that code path already does its own bswaping.

Change-Id: I6c17f6c5c5502c8f89098d38d931b6b8f50b2640
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-09-12 11:56:38 +00:00
Christian Ehrlicher
0d1481b4d2 SQL PostgreSQL/SQlite: Properly decode default varchar parameter
The default values for varchar columns were not decoded properly.

Task-number: QTBUG-46968
Change-Id: Ie13d48c316cd694240f7e287010b97afc8c6c341
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-09-12 09:11:04 +00:00
Eirik Aavitsland
9d1c881f49 Texture file support: add mipmap reading to ktx handler
Change-Id: Ic2c10b3e64d63d2272a8a3922d2b3f99dfd45bdb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-12 08:41:38 +00:00
Qt Forward Merge Bot
307d0b32f0 Merge "Merge remote-tracking branch 'origin/5.11.2' into 5.12" into refs/staging/5.12 2018-09-12 08:48:05 +00:00
Qt Forward Merge Bot
8e3dcd686b Merge remote-tracking branch 'origin/5.11.2' into 5.12
Change-Id: Ic9024fac14ff01154e10aa524293d8e3e7caa021
2018-09-12 10:37:18 +02:00
Laszlo Agocs
2d82cb7d77 QVulkanWindow: Fix some load/store ops in the default renderpass
Stencil is - very likely - cleared just like depth. Also, switch to
STORE_OP_STORE for the multisample buffer, for correctness.

Change-Id: I31b56658286205af8551018115ca2abbe541be67
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:20 +00:00
Laszlo Agocs
d6c7089e6c QVulkanWindow: Fix bogus stage masks in readback
Change-Id: I08882a02204c95272b100647923c9903f825912c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:17 +00:00
Laszlo Agocs
1c6bd414dd Fix device local alloc in hellovulkantexture
Running with QT_VK_FORCE_STAGE_TEX does not work at all with recent
NVIDIA drivers due to QVulkanWindow's and the example's naive way of
picking the memory index. Enhance this and add a warning note to the
QVulkanWindow docs as well.

Change-Id: I7f200e11d982b56e3da3b71ee3915bd7bfca5cc1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:15 +00:00
Laszlo Agocs
48897f97e7 Fix src access with staging buffer in hellovulkantexture
Change-Id: Iafcd94ec812a61dcfae6da43b1ca9f5771e05e56
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:11 +00:00
Allan Sandfeld Jensen
73af8e7553 Add optimized fetch ARGB32 routines for NEON
After convert and fetch were split, only convert was still NEON
vectorized, while fetch is the more commonly used version.

Change-Id: Iea2af7ccee6589b3d6e9908afeaae2d1ad2753be
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-09-12 07:26:55 +00:00
Oswald Buddenhagen
2aa779e893 syncqt: fix forwarding injected headers, take ~3
in non-prefix builds, the forwarding headers always end up in qtbase's
build dir, while the injected headers always live in the build dir of
the module they belong to. to deal with that, we now record the target
path relative to the module root dir instead of relative to the base
directory of the forwarding header itself.

Fixes: QTBUG-70056
Change-Id: Ic4346148a125b13e2610f6965cdf4f5266ac763e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-12 06:53:02 +00:00
Paul Wicking
cfb8d70888 Doc: Fix typo and add precision to method description
As transform() returns worldTransform(), point out that it is an alias
in its description.

Fixes: QTBUG-18117
Change-Id: I0eb1f78c6955b499906024105f9969cdccf13303
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-12 06:42:40 +00:00
Oliver Wolff
003a356403 winrt: Fix build with MSVC >= 15.8
39cb9ac873 moved the _ENABLE_EXTENDED_ALIGNED_STORAGE define from
msvc-version.conf to msvc-desktop.conf which basically removed the
define from winrt builds. By adding it to winrt's common qmake.conf
these builds are fixed.

Change-Id: I3d87c55fb52685859713f7466012b45c46145678
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-12 06:19:42 +00:00
Andy Shaw
a3e8b92d97 ODBC: Remove the trailing \0 in the case of a non unicode string
Some ODBC drivers, such as old Informix ODBC drivers will incorrectly
include a trailing \0 in a string when this should not exist. For
unicode strings this was already accounted for, but for non-unicode ones
this was not covered.

The change also fixes up the comments a bit to make this clearer and
also added one for the unicode case.

Task-number: QTBUG-62406
Change-Id: Id932a58d9e5fdff2f4d1aacf8cc9fdaeb34f95f4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-11 16:39:03 +00:00
Tor Arne Vestbø
d8c210d7f5 macOS: Prevent flickering when resizing window rendered to by separate thread
When a window is resized AppKit groups all updates to the view frames and
corresponding layer bounds, so that the result of the resize is visually
atomic, but this only works for the main thread.

http://openradar.appspot.com/radar?id=4990815088672768

When a separate thread renders to one of the views in the window, it may
result in the view and its layer updating its bounds visually before the
resize has been visually reflected for the window itself and its border.

To ensure visually atomic updates, we disable all screen updates for the
process during resizing. This is the same workaround used by e.g. the
NSOpenPanel class, which renders the content of the view out of process,
and by Chromium for a similar use-case:

https://chromium-review.googlesource.com/c/chromium/src/+/798774

Ideally we'd do this only for the window that is being resized, but there's
no known API to do that. The deprecated [NSWindow disableScreenUpdatesUntilFlush]
is a no-op these days, and used NSDisableScreenUpdates internally anyways).

Fixes: QTBUG-69321
Change-Id: I84de714782278f2e0b2b2e1eb245c30810cb3023
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-11 16:36:50 +00:00
Edward Welbourne
017ac02ec4 Clean up time-zone matching logic in tst_QLocale::macDefaultLocale()
The test was computing GMT with a suffix added to it for the offset;
but when the offset is zero there's no need for it.  Cleaned up the
logic so that it only checks for a "padded to two digits with zero" if
the number is single-digit (and use string arithmetic in preference to
wantonly complex .arg()ing; and use simpler names).  Since we don't
try to check anything unless GMT does appear in the string (because
the actual zone ID was used, instead of GMT with an offset), the case
of zero offset has nothing more to check than that GMT was present,
the precondition for checking anything.

Task-number: QTBUG-70322
Change-Id: I0b8abe7e63d9d72fa9cf32f188b47a78a849044b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-11 14:40:22 +00:00
Friedemann Kleint
dff9bb2f9b Windows: Disable shader disk cache for Intel HD Graphics 620
Set Qt::AA_DisableShaderDiskCache when the feature "disable_program_cache"
(modeled after the Chromium driver bug list) is present and set it for the
Intel HD Graphics 620 card.

Task-number: QTBUG-64697
Change-Id: Ibba588d2ab296b5c959ab8ee9712b47ec7cc906e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-11 13:42:40 +00:00
Tony Sarajärvi
fd6370d89f Extend opensuse blacklistings to opensuse-leap
In openSUSE 15.0 /etc/os-release the ID of the OS was
changed from "opensuse" to "opensuse-leap". So every blacklisting
we did for opensuse, didn't cover opensuse-leap. This one adds
opensuse-leap as a blacklisted platform whenever opensuse
was blacklisted.

Task-number: QTBUG-70463
Task-number: QTBUG-51399
Change-Id: I5879eb34926757163973d8b9442eae58f47d2f11
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-09-11 12:11:45 +00:00
Mitch Curtis
e04b85b026 Doc: improve Mandelbrot example
Change-Id: Iac6c3e681f3d5b195d08513ac5fe4b661c3d0f59
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-11 08:09:32 +00:00
Eirik Aavitsland
621ab8ab59 bmp image handler: check for out of range image size
Make the decoder fail early to avoid spending time and memory on
attempting to decode a corrupt image file.

Change-Id: I874e04f3b43122d73f8e58c7a5bcc4a741b68264
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-11 06:36:34 +00:00
Morten Johan Sørvig
405e297756 macOS: Use dark gradients for title and status bar in dark mode
These were hardcoded to light colors, which made the
QMainWindow status bar look out of place and made the
(light) text hard to read.

Hardcode to dark colors for DarkAqua which more or less
match the native look. Keep the optimization where the
Gradients are stored in static variabless.

Change-Id: I3e75b42c41d3e2d18e4bc0f17d950a702ccad662
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Gabriel de Dietrich (DO NOT ADD TO REVIEWS) <gabriel.dedietrich@gmail.com>
2018-09-10 19:28:41 +00:00
David Faure
5175824f15 QStringList: restore binary compatibility with Qt 5.11
Commit 8b6100d512 removed
bool QtPrivate::QStringList_contains(const QStringList *that, const QString &str, ...)
(in favor of a QStringView overload). However this was used inline in
qstringlist.h, so apps were referencing that symbol directly.

As a result, upgrading to Qt 5.12 gave errors like
libKF5ConfigCore.so.5.50.0: undefined reference to `QtPrivate::QStringList_contains(QStringList const*, QString const&, Qt::CaseSensitivity)@Qt_5'
collect2: error: ld returned 1 exit status

Change-Id: I862263a9b06157052df894a201dfd86df8c3f4fe
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
2018-09-10 19:20:15 +00:00
Liang Qi
d09d99af22 Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into refs/staging/5.12 2018-09-10 17:16:54 +00:00
Liang Qi
683e144efb Merge remote-tracking branch 'origin/5.11' into 5.12
Conflicts:
	mkspecs/common/macx.conf

Change-Id: I8576493b417912fa5e5501bc2c1b935d186ac209
2018-09-10 12:12:46 +02:00
Paul Wicking
b13e3b0eb6 Example: Close popup on mouse click without assigning new lens position
Clicking in the main renderer window passes a new position to the lens,
disregarding the "What's This" (documentation) overlay window.
This change checks if the documentation window is open on click, and if
it is, closes the documentation window and returns without further
handling of the mouse event.

Fixes: QTBUG-7205
Change-Id: I821245ec6c78be00d80af461baf8e4d59e0f351f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-10 10:04:08 +00:00
Tor Arne Vestbø
1398f4f828 macOS: Release surfaces straight away when reconfiguring QCocoaGLContext
Calling setView or update on NSOpenGLContext results in recreating the
internal GL surfaces of the view. Unfortunately there seems to be a
fixed amount of these surfaces available, so if we spin a loop where
we for some reason end up recreating them, we'll easily run out, and
lock up the whole window system:

  thread #6, name = 'SwapThread'
    frame #0: 0x00007fff7b45220a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff7b451724 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff751c1675 SkyLight`SLSBindSurface + 247
    frame #3: 0x00007fff5d9c4328 OpenGL`___lldb_unnamed_symbol29$$OpenGL + 255
    frame #4: 0x00007fff6bf42c33 libGPUSupportMercury.dylib`gldAttachDrawable + 364
    frame #5: 0x00007fff5d9e61e7 GLEngine`gliAttachDrawableWithOptions + 257
    frame #6: 0x00007fff5d9c4bb0 OpenGL`___lldb_unnamed_symbol38$$OpenGL + 969
    frame #7: 0x00007fff5d9c8b0e OpenGL`___lldb_unnamed_symbol57$$OpenGL + 82
    frame #8: 0x00007fff5d9c8e55 OpenGL`CGLSetSurface + 330
    frame #9: 0x00007fff50d0eb2c AppKit`NSOpenGLContextAttachOffScreenViewSurface + 352

This can happen e.g. when resizing the application, where AppKit itself spins
a loop where we don't end up back in QCocoaEventDispatcher::processEvents()
for each pass (where we do have a local pool). Or it can happen in the
render-loop of a render-thread that doesn't use the event dispatcher.

Change-Id: Iaf2f879dd01e3d807d0f35705ccc978dbc89036b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-10 09:03:36 +00:00
Timur Pocheptsov
33b79ddc80 QDtls and QDtlsClientVerifier - add destructors
While these destructors are essentially trivial and contain no code,
the classes inherit QObject and thus have virtual tables. For such
classes -Wweak-vtable generates a warning: "'Class' has no out-of-line
virtual method definitions; its vtable will be emitted in every translation
unit." Noticed this after updating QtCreator to the latest version.

Change-Id: Iacb5d0cd49353bd35260aff736652542bb1ef197
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2018-09-10 04:37:24 +00:00
Thiago Macieira
b66357e3eb moc: Fix compilation of text strings containing non-ASCII
On platforms where char is signed, like x86, the following is an error
(narrowing conversion):

 unsigned char x[] = { '\xc3' };

Change-Id: I495bc19409f348069f5bfffd15518f9ef4e43faf
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-10 04:17:03 +00:00
Tor Arne Vestbø
c0e94fa0cd macOS: Use NSOpenGLContext's drawable directly to track active drawable
We don't need a separate QWindow pointer to keep track of the active
window, it's recorded already by the NSOpenGLContext's drawable.

And we don't need to juggle the drawable when the window is hidden,
the drawable is still valid after the window is re-shown, and we
call update on every frame (for now) anyways, which will reconfigure
the drawable if needed.

Change-Id: I199b6c027226dd239c13ecc4aba86986ca09a1eb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-09-09 22:13:28 +00:00
Christian Ehrlicher
85917c4b72 Autotests/QItemView: re-enable tst_QItemView::indexAt()
tst_QItemView::indexAt() was disabled since Qt 5.0 (and maybe earlier)
maybe due to it's long runtime (15s on my machine).
Speed it up by checking only some special positions inside the visual
rect (borders, center) as it will likely not fail on other positions but
succeed for the ones which get tested.

Task-number: QTBUG-22470
Change-Id: I5c7135757049176f9daca4afc1b7f40c75b9ecd9
Reviewed-by: David Faure <david.faure@kdab.com>
2018-09-09 12:04:15 +00:00
Christian Ehrlicher
ef40cad3a9 QTableView: Fix PageUp not getting to top when first row is hidden
When the first row(s) of a QTableView is hidden, PageUp could not reach
the first visible row because logicalRow(0) is taken without checking
if the row is visible.

Task-number: QTBUG-70215
Change-Id: Ic7820352b8988accb685ea7d16908d3fa8bf2847
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2018-09-09 12:03:55 +00:00
Christian Ehrlicher
cd499b7297 QLayout: Better document QLayout(QWidget *parent) behavior
QLayout(QWidget *parent) directly calls parent->setLayout(this) which
can lead to a runtime warning later on when someone tries to set the
layout on the parent again.

Task-number: QTBUG-69761
Change-Id: I21ef8895fd65f3e23e57527a6d38936e45417b63
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2018-09-09 12:03:51 +00:00
Tor Arne Vestbø
8b3a6cfbfb Update QOpenGLContext::currentContext after QPlatformOpenGLContext::makeCurrent
Instead of doing it up front and then restoring the current context
if the makeCurrent call failed.

By delaying the update, QPlatformOpenGLContext::makeCurrent has the option
to check which context was current before the call.

Change-Id: I458f5c00d7c820acbe2f8552b0513fce99b9b683
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-09 11:10:38 +00:00
Qt Forward Merge Bot
1f1e2aa57b Merge remote-tracking branch 'origin/5.11.2' into 5.11
Change-Id: I2fa26fa061cbf5d2bded203a299a19b7d1c31d0a
2018-09-09 12:13:02 +02:00
Thiago Macieira
1205f4a229 Moc: use QVector more often
It's more optimised and it vectorizes better, due to one level of
indirection fewer.

Change-Id: I495bc19409f348069f5bfffd1551e85092ed8dc2
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-09-09 05:23:08 +00:00
Thiago Macieira
2dca4ef19c CBOR: Add missing clear() methods to the two container classes
Change-Id: Id59bdd8f1a804b809e22fffd153fd5174b58014d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-09 05:22:59 +00:00
Richard Moe Gustavsen
8d3b9841e1 Cocoa: change background color of selected menu items
Change 582d221b29 caused a regression when drawing menu items in
e.g a QComboBox. After that change, QCocoaSystemSettings would set the
QPalette::Highlight color to [NSColor selectedMenuItemTextColor]. But
the Highlight color is the background color, not the text color. And we
also use [NSColor selectedMenuItemTextColor] as the QPalette::HighlightedText
color. The result is that highlighed menu items end up with the same
foreground and background color (white), which means that they "disappear".

The color that we used before the patch, alternateSelectedControlColor, could
be used, but has the downside that it doesn't follow the appearance color in
system settings (like it should, compared to native apps). And it's also slightly
to blue. But using keyboardFocusIndicatorColor seems like a perfect match.

Fixes: QTBUG-69500
Change-Id: I07f091a5130a7308525743948d2a435226658a6f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-08 19:41:17 +00:00
Juan Jose Casafranca
5474f28c42 Graph loader can load prototypes stored in the graph
Change-Id: Ib0bbfe5b0257bf355e83cc5287fa52b1e0cc3ed6
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2018-09-08 17:11:06 +00:00
Tor Arne Vestbø
be60b541ad Make QOpenGLContext::makeCurrent use early exit for all its flow
The case of the platform context failing makeCurrent is the exception.

Change-Id: I606e6fb379f84e886bff9e27355dda9b31ff9ebe
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-08 14:04:51 +00:00
Tor Arne Vestbø
3baa9aa3cd macOS: Clear NSOpenGLContex's drawable when using offscreen surfaces
Otherwise the user might accidentally render to the previously active
window, if not explicitly using an FBO.

This will have an performance impact if doing makeCurrent on a real
window and an offscreen window back and forth with the same context,
but that's not really a common or recommended use of QOffscreenSurface,
as you can create FBOs with a normal window current as well. The use
case of QOffscreenSurface is when a real window is not available.

Change-Id: If93d04f82564523e15d5970429afea34c5cd31fe
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-09-07 07:25:37 +00:00