forked from qt-creator/qt-creator
Check in initialize if OpenGl context can be created
Change-Id: I224c2559c1e65cfc3b699e7ec7b56dee8308bd83 Task-number: QTCREATORBUG-15101 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -60,6 +60,7 @@
|
|||||||
#include <qplugin.h>
|
#include <qplugin.h>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QProcessEnvironment>
|
#include <QProcessEnvironment>
|
||||||
|
#include <QOpenGLContext>
|
||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
|
|
||||||
@@ -125,8 +126,10 @@ QmlDesignerPlugin::~QmlDesignerPlugin()
|
|||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage/* = 0*/) // =0;
|
bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage/* = 0*/) // =0;
|
||||||
{
|
{
|
||||||
if (errorMessage)
|
if (!QOpenGLContext().create()) {
|
||||||
errorMessage->clear();
|
*errorMessage = tr("Cannot create OpenGL context.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
data = new QmlDesignerPluginData;
|
data = new QmlDesignerPluginData;
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
#include <analyzerbase/analyzermanager.h>
|
#include <analyzerbase/analyzermanager.h>
|
||||||
#include <extensionsystem/pluginmanager.h>
|
#include <extensionsystem/pluginmanager.h>
|
||||||
|
|
||||||
|
#include <QOpenGLContext>
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
|
|
||||||
using namespace Analyzer;
|
using namespace Analyzer;
|
||||||
@@ -50,7 +51,11 @@ QmlProfilerPlugin *QmlProfilerPlugin::instance = 0;
|
|||||||
bool QmlProfilerPlugin::initialize(const QStringList &arguments, QString *errorString)
|
bool QmlProfilerPlugin::initialize(const QStringList &arguments, QString *errorString)
|
||||||
{
|
{
|
||||||
Q_UNUSED(arguments)
|
Q_UNUSED(arguments)
|
||||||
Q_UNUSED(errorString)
|
|
||||||
|
if (!QOpenGLContext().create()) {
|
||||||
|
*errorString = tr("Cannot create OpenGL context.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
auto tool = new QmlProfilerTool(this);
|
auto tool = new QmlProfilerTool(this);
|
||||||
auto widgetCreator = [tool] { return tool->createWidgets(); };
|
auto widgetCreator = [tool] { return tool->createWidgets(); };
|
||||||
|
Reference in New Issue
Block a user