Go to file
Jian Liang b188d9481b Fix QOpenGLContextGroup object leak
Task-number: QTBUG-29056

QOpenGLContextGroup object is designed to be destroyed by deleteLater(),
but this method will not always work due to the fact that in many cases
event loop will exit before the deferred deletion of the
QOpenGLContextGroup object is queued. Think about the following case:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGLWidget w;
    w.show();
    return a.exec();
}

In the above program, the event loop will exit before QGLWidget object's
destruction. This will cause the QOpenGLContextGroup object hold by
QGLWidget object never been deleted.

This patch will delete QOpenGLContextGroup object directly with delete
operator if the current thread is the same as the thread which the
QOpenGLContextGroup lives in.

Change-Id: If835d7482474f4a668763fc7c21b293a27f075fd
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-01-14 11:35:17 +01:00
bin fix installation of aux headers 2012-12-13 09:11:03 +01:00
config.tests Add configure option to minimize xcb runtime dependencies 2012-11-07 16:55:50 +01:00
dist Bump Qt version to 5.0.1 2012-12-21 22:49:02 +01:00
doc Change ftp.qt.nokia.com -> ftp.qt-project.org 2012-12-18 23:13:35 +01:00
examples Doc: corrected typo "the the" 2013-01-11 12:02:21 +01:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Support MinGW for CTest test cases 2013-01-09 23:51:48 +01:00
qmake qmake: Add application icon support for windows 2013-01-10 15:13:46 +01:00
src Fix QOpenGLContextGroup object leak 2013-01-14 11:35:17 +01:00
tests tst_bic: Add bic data for QtConcurrent and QtPrintSupport 2013-01-14 09:18:43 +01:00
tools configure: Remove left over for -nokia-developer option 2013-01-04 20:43:51 +01:00
util More changes from Nokia to Digia 2012-11-30 00:50:47 +01:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Add qmake generated files to .gitignore. 2012-12-19 21:31:58 +01:00
.qmake.conf don't auto-install example sources by default for all modules 2012-12-03 15:56:28 +01:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Update the sysconfdir default to non-absolute 2013-01-04 17:35:21 +01:00
configure.bat Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
header.BSD Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
header.FDL Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
header.LGPL Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
header.LGPL-ONLY Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
INSTALL fix links in INSTALL 2012-10-10 08:45:22 +02:00
LGPL_EXCEPTION.txt Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL Add the LICENSE.GPL file to the module referenced from license headers 2012-05-20 22:41:08 +02:00
LICENSE.LGPL Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
LICENSE.PREVIEW.COMMERCIAL Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
qtbase.pro rewrite default spec handling 2012-11-01 20:17:57 +01:00
sync.profile Remove compat, obsolete headers 2012-12-19 23:43:25 +01:00