Go to file
Eskil Abrahamsen Blomfeldt bad2ac47f8 Resolve OpenGL version functions in thread-safe manner
In 73f3f501f3, the classes were
moved out of Qt Gui, and a mechanism to attach them to the
QOpenGLContext was implemented using a QMap and a connection
on destroyed to delete it.

This solution was not thread-safe, so the suggestion was to either
add a mutex or to make an opaque pointer for the storage in the
(thread-affine) QOpenGLContextPrivate.

I decided to go with the latter. A solution using hash lookups
and mutexes seems to complex when the only benefit is to avoid
forward declarations from Qt Gui to Qt OpenGL in private API.

Especially since this dependency already exists with
the "textureFunctions", which serve the same purpose,
although the destructor is being passed in as an explicit
function pointer there, probably because the ambition was
to use a forward declaration rather than a superclass.

Fixes: QTBUG-82742
Change-Id: I5c6b82c5b33d9cb73ad1ec05d3fc3e87a9eae4cf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-04-17 16:00:43 +02:00
bin CMake: Provide script to configure and build one or more tests 2020-03-23 09:54:48 +01:00
cmake CMake: Make sure not to use the Qt prefix for standalone tests 2020-04-17 15:59:33 +02:00
coin Coin: Fix incorrect target OS values used in instructions 2020-04-02 09:39:27 +02:00
config.tests CMake: Skip regeneration of manual compile test project 2020-04-09 11:26:46 +02:00
dist Add changes file for Qt 5.14.2 2020-03-17 06:16:25 +01:00
doc Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
examples Remove deprecated QStyle enum values 2020-04-16 16:53:18 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Merge "Merge remote-tracking branch 'origin/5.15' into dev" 2020-04-11 15:04:45 +02:00
qmake Change qHash() to work with size_t instead of uint 2020-04-09 20:03:25 +02:00
src Resolve OpenGL version functions in thread-safe manner 2020-04-17 16:00:43 +02:00
tests Fix digit grouping when digits are surrogat pairs 2020-04-17 13:43:50 +02:00
util CMake: Handle automatic rpath embedding correctly 2020-04-17 15:59:25 +02:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore QtNetwork: Delete bearer management 2020-04-05 16:41:08 +02:00
.qmake.conf Bump version 2020-02-02 13:41:14 +01:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt CMake: Fix pkgconfig calls when cross-compiling 2020-03-26 12:46:16 +01:00
config_help.txt Merge remote-tracking branch 'origin/5.15' into dev 2020-02-26 18:39:21 +01:00
configure Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
configure.bat Don't compile qmake in c++11 mode 2020-02-03 17:43:30 +01:00
configure.cmake CMake: Handle automatic rpath embedding correctly 2020-04-17 15:59:25 +02:00
configure.json CMake: Port the 'separate_debug_info' feature 2020-03-06 13:38:37 +01:00
configure.pri Android: Increase minimum API level to Android-23 / Android 6 2020-03-04 08:28:04 +01:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Move QOpenGLWidget from QtOpenGL to its own module 2020-02-18 09:22:51 +01:00