mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-21 12:54:26 -04:00
added checks in Plugin system to avoid core dumping when no plugins are found
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@978 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
71d7671564
commit
2fd0e95128
1 changed files with 26 additions and 14 deletions
|
@ -118,27 +118,39 @@ PluginsPage::PluginsPage(QWidget *parent )
|
||||||
QRegExp rx_qs(".*js");
|
QRegExp rx_qs(".*js");
|
||||||
|
|
||||||
ti = scfList.indexOf(rx_qs);
|
ti = scfList.indexOf(rx_qs);
|
||||||
|
|
||||||
|
if(ti > -1)
|
||||||
|
{
|
||||||
QFile scriptFile( spDir.absoluteFilePath( scfList.at(ti) ) );
|
QFile scriptFile( spDir.absoluteFilePath( scfList.at(ti) ) );
|
||||||
scriptFile.open(QIODevice::ReadOnly);
|
scriptFile.open(QIODevice::ReadOnly);
|
||||||
engine->evaluate(scriptFile.readAll());
|
engine->evaluate(scriptFile.readAll());
|
||||||
scriptFile.close();
|
scriptFile.close();
|
||||||
|
}
|
||||||
|
|
||||||
QUiLoader loader;
|
QUiLoader loader;
|
||||||
QRegExp rx_ui(".*ui");
|
QRegExp rx_ui(".*ui");
|
||||||
|
QWidget *ui = NULL ;
|
||||||
|
|
||||||
|
if(ti > -1)
|
||||||
|
{
|
||||||
ti = scfList.indexOf(rx_ui) ;
|
ti = scfList.indexOf(rx_ui) ;
|
||||||
QFile uiFile( spDir.absoluteFilePath( scfList.at(ti) ) );
|
QFile uiFile( spDir.absoluteFilePath( scfList.at(ti) ) );
|
||||||
qDebug() << "ui file is " << scfList.at(ti) ;
|
qDebug() << "ui file is " << scfList.at(ti) ;
|
||||||
uiFile.open(QIODevice::ReadOnly);
|
uiFile.open(QIODevice::ReadOnly);
|
||||||
|
|
||||||
QWidget *ui = loader.load(&uiFile);
|
ui = loader.load(&uiFile);
|
||||||
uiFile.close();
|
uiFile.close();
|
||||||
|
}
|
||||||
QScriptValue ctor = engine->evaluate("Plugin");
|
|
||||||
QScriptValue scriptUi = engine->newQObject(ui, QScriptEngine::ScriptOwnership);
|
|
||||||
QScriptValue calc = ctor.construct(QScriptValueList() << scriptUi);
|
|
||||||
|
|
||||||
if (!ui)
|
if (!ui)
|
||||||
qDebug() << "ui is null :(" ;
|
qDebug() << "ui is null :(" ;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QScriptValue ctor = engine->evaluate("Plugin");
|
||||||
|
QScriptValue scriptUi = engine->newQObject(ui, QScriptEngine::ScriptOwnership);
|
||||||
|
QScriptValue calc = ctor.construct(QScriptValueList() << scriptUi);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//ui->show();
|
//ui->show();
|
||||||
pluginTabs->addTab(ui,"Script plugin");
|
pluginTabs->addTab(ui,"Script plugin");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue