directfb: fix QThread destroyed while running
Commitcf092abdfc
introduces a virtual "void initialize()" in QPlatformIntegration class. "void initialize()" was already implemented in QDirectFbIntegration since commit6534898cc6
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>
This commit is contained in:
parent
3f39c0f76c
commit
59d6871ae3
@ -75,7 +75,8 @@ QPlatformIntegration * QDirectFbIntegrationPlugin::create(const QString& system,
|
||||
if (!integration)
|
||||
return 0;
|
||||
|
||||
integration->initialize();
|
||||
integration->connectToDirectFb();
|
||||
|
||||
return integration;
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,7 @@ QDirectFbIntegration::QDirectFbIntegration()
|
||||
{
|
||||
}
|
||||
|
||||
void QDirectFbIntegration::initialize()
|
||||
void QDirectFbIntegration::connectToDirectFb()
|
||||
{
|
||||
initializeDirectFB();
|
||||
initializeScreen();
|
||||
|
@ -60,7 +60,7 @@ public:
|
||||
QDirectFbIntegration();
|
||||
~QDirectFbIntegration();
|
||||
|
||||
void initialize();
|
||||
void connectToDirectFb();
|
||||
|
||||
QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const;
|
||||
QPlatformWindow *createPlatformWindow(QWindow *window) const;
|
||||
|
Loading…
Reference in New Issue
Block a user