diff options
-rw-r--r-- | src/qml/qml/v4/qv4object.cpp | 1 | ||||
-rw-r--r-- | src/qml/qml/v4/qv4sequenceobject_p.h | 3 | ||||
-rw-r--r-- | src/qml/qml/v4/qv4string_p.h | 2 | ||||
-rw-r--r-- | src/qml/qml/v4/qv4variantobject_p.h | 1 | ||||
-rw-r--r-- | src/qml/qml/v4/v4.pri | 5 | ||||
-rwxr-xr-x | src/qml/qml/v4/v4classgen | 14 | ||||
-rw-r--r-- | src/qml/qml/v8/qv8engine.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/v8/qv8engine_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/items.pri | 2 | ||||
-rw-r--r-- | src/quick/quick.pro | 3 |
10 files changed, 19 insertions, 16 deletions
diff --git a/src/qml/qml/v4/qv4object.cpp b/src/qml/qml/v4/qv4object.cpp index d5c77166ee..07eaec26ea 100644 --- a/src/qml/qml/v4/qv4object.cpp +++ b/src/qml/qml/v4/qv4object.cpp @@ -61,6 +61,7 @@ #include <cassert> #include <typeinfo> #include <iostream> +#include <stdint.h> #include "qv4alloca_p.h" using namespace QV4; diff --git a/src/qml/qml/v4/qv4sequenceobject_p.h b/src/qml/qml/v4/qv4sequenceobject_p.h index 7731f07d7c..0461c296e7 100644 --- a/src/qml/qml/v4/qv4sequenceobject_p.h +++ b/src/qml/qml/v4/qv4sequenceobject_p.h @@ -77,9 +77,8 @@ public: QV4::Value method_set_length(QV4::SimpleCallContext* ctx); }; -class QV4_JS_CLASS(SequencePrototype) : public QV4::Object +struct QV4_JS_CLASS(SequencePrototype) : public QV4::Object { -public: SequencePrototype(QV4::ExecutionEngine *engine); void initClass(QV4::ExecutionEngine *engine); diff --git a/src/qml/qml/v4/qv4string_p.h b/src/qml/qml/v4/qv4string_p.h index e33c4d81e9..30bef99ae5 100644 --- a/src/qml/qml/v4/qv4string_p.h +++ b/src/qml/qml/v4/qv4string_p.h @@ -50,7 +50,7 @@ namespace QV4 { struct ExecutionEngine; -struct String : public Managed { +struct Q_QML_EXPORT String : public Managed { enum StringType { StringType_Unknown, StringType_Regular, diff --git a/src/qml/qml/v4/qv4variantobject_p.h b/src/qml/qml/v4/qv4variantobject_p.h index d1b18d3420..085d06bf96 100644 --- a/src/qml/qml/v4/qv4variantobject_p.h +++ b/src/qml/qml/v4/qv4variantobject_p.h @@ -68,7 +68,6 @@ struct VariantObject : Object, public ExecutionEngine::ScarceResourceData { public: VariantObject(ExecutionEngine *engine, const QVariant &value); - ~VariantObject(); static QVariant toVariant(const QV4::Value &v); diff --git a/src/qml/qml/v4/v4.pri b/src/qml/qml/v4/v4.pri index 15f41d6f10..ccfb723f8f 100644 --- a/src/qml/qml/v4/v4.pri +++ b/src/qml/qml/v4/v4.pri @@ -101,6 +101,9 @@ HEADERS += \ $$PWD/qv4executableallocator_p.h \ $$PWD/qv4sequenceobject_p.h +OTHER_FILES += \ + $$PWD/v4classgen + JS_CLASS_SOURCES += $$PWD/qv4dateobject_p.h \ $$PWD/qv4stringobject_p.h \ $$PWD/qv4booleanobject_p.h \ @@ -111,7 +114,7 @@ JS_CLASS_SOURCES += $$PWD/qv4dateobject_p.h \ js_class_bindings.output = ${QMAKE_FILE_BASE}_jsclass.cpp js_class_bindings.input = JS_CLASS_SOURCES js_class_bindings.script = $$PWD/v4classgen -js_class_bindings.commands = python $$js_class_bindings.script ${QMAKE_FILE_IN} --output ${QMAKE_FILE_OUT} +js_class_bindings.commands = python $$js_class_bindings.script ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} js_class_bindings.depends += $$js_class_bindings.script $$PWD/qv4managed_p.h js_class_bindings.CONFIG += no_link QMAKE_EXTRA_COMPILERS += js_class_bindings diff --git a/src/qml/qml/v4/v4classgen b/src/qml/qml/v4/v4classgen index e5000ea83e..8726717475 100755 --- a/src/qml/qml/v4/v4classgen +++ b/src/qml/qml/v4/v4classgen @@ -1,7 +1,6 @@ #!/usr/bin/python import re, sys, os -import argparse class ParsedMethod(): def __init__(self, name, methodPrefix, static): @@ -308,21 +307,20 @@ def extractManagedVTableLayout(basePath): sys.exit(1) return fields -parser = argparse.ArgumentParser(description="Generate V4 JS class bindings") -parser.add_argument("input") -parser.add_argument("--output") -options = parser.parse_args() +if len(sys.argv) != 3 and len(sys.argv) != 2: + print("Usage: v4classgen input-file [output-file]\n") + sys.exit(1) vtableEntries = extractManagedVTableLayout(os.path.dirname(__file__)) if len(vtableEntries) == 0: print("Could not parse vtable layout from qv4managed_p.h") sys.exit(1) -f = open(options.input) +f = open(sys.argv[1]) out = sys.stdout -if options.output != None: - out = open(options.output, 'w') +if len(sys.argv) == 3: + out = open(sys.argv[2], 'w') lines = f.read().splitlines() classes = parse(lines) diff --git a/src/qml/qml/v8/qv8engine.cpp b/src/qml/qml/v8/qv8engine.cpp index 5862faf807..b6431b7fad 100644 --- a/src/qml/qml/v8/qv8engine.cpp +++ b/src/qml/qml/v8/qv8engine.cpp @@ -672,7 +672,7 @@ void QV8Engine::initializeGlobal(v8::Handle<v8::Object> global) " }"\ "})" - QV4::Value result = evaluateScript(QStringLiteral(FREEZE_SOURCE), 0); + QV4::Value result = evaluateScript(QString::fromUtf8(FREEZE_SOURCE), 0); Q_ASSERT(result.asFunctionObject()); m_freezeObject = result; #undef FREEZE_SOURCE diff --git a/src/qml/qml/v8/qv8engine_p.h b/src/qml/qml/v8/qv8engine_p.h index eda6850105..abd5b71b94 100644 --- a/src/qml/qml/v8/qv8engine_p.h +++ b/src/qml/qml/v8/qv8engine_p.h @@ -105,7 +105,7 @@ namespace QV4 { } #define V4THROW_ERROR(string) \ - v8::Isolate::GetEngine()->current->throwError(QStringLiteral(string)); + v8::Isolate::GetEngine()->current->throwError(QString::fromUtf8(string)); #define V8THROW_TYPE(string) { \ v8::ThrowException(v8::Exception::TypeError(v8::String::New(string))); \ diff --git a/src/quick/items/items.pri b/src/quick/items/items.pri index 93e56830a7..d1a8effaf3 100644 --- a/src/quick/items/items.pri +++ b/src/quick/items/items.pri @@ -141,7 +141,7 @@ V4DIR = $$PWD/../../qml/qml/v4 js_class_bindings.output = ${QMAKE_FILE_BASE}_jsclass.cpp js_class_bindings.input = JS_CLASS_SOURCES js_class_bindings.script = $$V4DIR/v4classgen -js_class_bindings.commands = python $$js_class_bindings.script ${QMAKE_FILE_IN} --output ${QMAKE_FILE_OUT} +js_class_bindings.commands = python $$js_class_bindings.script ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} js_class_bindings.depends += $$js_class_bindings.script $$V4DIR/qv4managed_p.h js_class_bindings.CONFIG += no_link QMAKE_EXTRA_COMPILERS += js_class_bindings diff --git a/src/quick/quick.pro b/src/quick/quick.pro index b584734a83..393fe34e89 100644 --- a/src/quick/quick.pro +++ b/src/quick/quick.pro @@ -31,6 +31,9 @@ HEADERS += \ SOURCES += qtquick2.cpp +# To make #include "qquickcontext2d_jsclass.cpp" work +INCLUDEPATH += $$PWD + mac { # FIXME: this is a workaround for broken qmake logic in qtAddModule() # This function refuses to use frameworks unless the framework exists on |