summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-02-20 12:42:24 +0100
committerKent Hansen <khansen@trolltech.com>2009-02-20 12:42:24 +0100
commit1ff84cc76c56097a73c66bc9e40ae3417fbf1300 (patch)
tree5b833b008cc5f2ebeb195fcf6fe0497c56c7df96
parent15da905b6ebc23c839a78510d8f8e70df11a70a4 (diff)
Fixes: warn when the bindings can't be loaded
-rw-r--r--qtbindings/qs_eval/main.cpp46
1 files changed, 35 insertions, 11 deletions
diff --git a/qtbindings/qs_eval/main.cpp b/qtbindings/qs_eval/main.cpp
index 47dca65..eec0395 100644
--- a/qtbindings/qs_eval/main.cpp
+++ b/qtbindings/qs_eval/main.cpp
@@ -138,22 +138,46 @@ int main(int argc, char *argv[])
app->setLibraryPaths(paths);
QScriptEngine *eng = new QScriptEngine();
+
+ QStringList extensions;
+ extensions << "qt.core"
+ << "qt.gui"
+ << "qt.xml"
+ << "qt.svg"
+ << "qt.network"
+ << "qt.sql"
+ << "qt.opengl"
+ << "qt.webkit"
+ << "qt.xmlpatterns"
+ << "qt.uitools";
+ QStringList failExtensions;
+ foreach (const QString &ext, extensions) {
+ QScriptValue ret = eng->importExtension(ext);
+ if (ret.isError())
+ failExtensions.append(ext);
+ }
+ if (!failExtensions.isEmpty()) {
+ if (failExtensions.size() == extensions.size()) {
+ qWarning("Failed to import Qt bindings!\n"
+ "Plugins directory searched: %s/script\n"
+ "Make sure that the bindings have been built, "
+ "and that this executable and the plugins are "
+ "using compatible Qt libraries.", qPrintable(dir.absolutePath()));
+ } else {
+ qWarning("Failed to import some Qt bindings: %s\n"
+ "Plugins directory searched: %s/script\n"
+ "Make sure that the bindings have been built, "
+ "and that this executable and the plugins are "
+ "using compatible Qt libraries.",
+ qPrintable(failExtensions.join(", ")), qPrintable(dir.absolutePath()));
+ }
+ }
+
#if QT_VERSION >= 0x040500
QScriptEngineDebugger *dbg = new QScriptEngineDebugger();
dbg->attachTo(eng);
#endif
- eng->importExtension("qt.core");
- eng->importExtension("qt.gui");
- eng->importExtension("qt.xml");
- eng->importExtension("qt.svg");
- eng->importExtension("qt.network");
- eng->importExtension("qt.sql");
- eng->importExtension("qt.opengl");
- eng->importExtension("qt.webkit");
- eng->importExtension("qt.xmlpatterns");
- eng->importExtension("qt.uitools");
-
QScriptValue globalObject = eng->globalObject();
globalObject.setProperty("qApp", eng->newQObject(app));
{