From ec7e1e0c73de082e08d245e7d6ec6f74129b7f0c Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Mon, 9 Feb 2009 19:10:26 +0000 Subject: [PATCH] throw an exception when someone tries to instantiate VideoWidgetwhen Phonon is not compiled in thanks richmoore :) svn path=/trunk/KDE/kdebase/workspace/plasma/scriptengines/javascript/; revision=923937 --- .../javascript/simplejavascriptapplet.cpp | 14 ++++++++++++++ scriptengines/javascript/simplejavascriptapplet.h | 1 + 2 files changed, 15 insertions(+) diff --git a/scriptengines/javascript/simplejavascriptapplet.cpp b/scriptengines/javascript/simplejavascriptapplet.cpp index d2b30ee34..3e83eb87e 100644 --- a/scriptengines/javascript/simplejavascriptapplet.cpp +++ b/scriptengines/javascript/simplejavascriptapplet.cpp @@ -636,6 +636,13 @@ void SimpleJavaScriptApplet::installWidgets(QScriptEngine *engine) globalObject.setProperty(widget, fun); } +#ifndef HAVE_PHONON + QScriptValue fun = engine->newFunction(notSupported); + fun.setProperty( QString("message"), + i18n("Phonon support was not available"), + QScriptValue::ReadOnly | QScriptValue::Undeletable | QScriptValue::SkipInEnumeration ); + globalObject.setProperty(QString("VideoWidget"), fun); +#endif } QScriptValue SimpleJavaScriptApplet::createWidget(QScriptContext *context, QScriptEngine *engine) @@ -670,6 +677,13 @@ QScriptValue SimpleJavaScriptApplet::createWidget(QScriptContext *context, QScri return fun; } +QScriptValue SimpleJavaScriptApplet::notSupported(QScriptContext *context, QScriptEngine *engine) +{ + QString message = context->callee().property("message").toString(); + return context->throwError(i18n("This operation was not supported, %1").arg(message) ); +} + + QScriptValue SimpleJavaScriptApplet::print(QScriptContext *context, QScriptEngine *engine) { if (context->argumentCount() != 1) { diff --git a/scriptengines/javascript/simplejavascriptapplet.h b/scriptengines/javascript/simplejavascriptapplet.h index f6d603054..f65cc5cc8 100644 --- a/scriptengines/javascript/simplejavascriptapplet.h +++ b/scriptengines/javascript/simplejavascriptapplet.h @@ -68,6 +68,7 @@ private: void installWidgets( QScriptEngine *engine ); static QScriptValue createWidget(QScriptContext *context, QScriptEngine *engine); + static QScriptValue notSupported(QScriptContext *context, QScriptEngine *engine); static QScriptValue print(QScriptContext *context, QScriptEngine *engine); static QScriptValue createPrototype( QScriptEngine *engine, const QString &name );