directfb: fix QThread destroyed while running
authorLucile Quirion <lucile.quirion@savoirfairelinux.com>
Thu, 1 May 2014 14:16:42 +0000 (10:16 -0400)
committerLaszlo Agocs <laszlo.agocs@digia.com>
Mon, 16 Jun 2014 11:25:53 +0000 (13:25 +0200)
commit59d6871ae3a9978d5578811c50a94f5cb3fc704d
treef9bd78e1739a05dc321796c4dd36b61709206d29
parent3f39c0f76cec121181ab9d6a0cf057c1b1aeb25c
directfb: fix QThread destroyed while running

Commit cf092abdfc888f19a607a43c9b4bac776b5c1f8e introduces a virtual
"void initialize()" in QPlatformIntegration class.

"void initialize()" was already implemented in QDirectFbIntegration
since commit 6534898cc69e22115cf158f71a1e0edd7f13877b allowing
initialization steps to be overridden by QDirectFbIntegrationEGL.

Therefore the QScopePointer "m_input" handling a QThread is reset twice.
The QThread firstly created is forcibly terminated. The application
displays the error message "QThread: Destroyed while thread is still
running" and sometimes crash with a SIGSEGV.

This commit rename QDirectFbIntegration::initialize() into
QDirectFbIntegration::connectToDirectFb() to fix this issue.

Task-number: QTBUG-38710
Change-Id: I3ca07c373af7c47abf08da2b45bbcf7a6cf573ad
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
src/plugins/platforms/directfb/main.cpp
src/plugins/platforms/directfb/qdirectfbintegration.cpp
src/plugins/platforms/directfb/qdirectfbintegration.h