diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-14 11:35:11 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-14 11:35:30 +0200 |
commit | 809b5e2fc1cc5935c2dd7d63992c7a94dfce4dd8 (patch) | |
tree | c0f08d106a16f12a89e13550d58d424d0f9cba6a /src | |
parent | dc4e537d4cfe16aaa88b6edd911571317241ab32 (diff) | |
parent | da7df10b3d5769d1da7851895d27257a0d930012 (diff) |
Merge remote-tracking branch 'origin/5.3' into 5.4
Change-Id: I2e06c2fcd8aa9d5d090f0568be75272ec82f7b20
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/jit/qv4assembler_p.h | 5 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcontext2d.cpp | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/qml/jit/qv4assembler_p.h b/src/qml/jit/qv4assembler_p.h index 32f709c5d2..5e868c3b11 100644 --- a/src/qml/jit/qv4assembler_p.h +++ b/src/qml/jit/qv4assembler_p.h @@ -225,11 +225,10 @@ public: return frameSize; } + /// \return the stack frame size in number of Value items. int calculateJSStackFrameSize() const { - const int locals = (localCount + sizeof(QV4::CallData)/sizeof(QV4::Value) - 1 + maxOutgoingArgumentCount) + 1; - int frameSize = locals * sizeof(QV4::Value); - return frameSize; + return (localCount + sizeof(QV4::CallData)/sizeof(QV4::Value) - 1 + maxOutgoingArgumentCount) + 1; } Address stackSlotPointer(int idx) const diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index 1a0d6287aa..a3644c313b 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -70,6 +70,9 @@ #include <private/qv4objectproto_p.h> #include <private/qv4scopedvalue_p.h> +#include <private/qguiapplication_p.h> +#include <qpa/qplatformintegration.h> + #include <QtCore/QRunnable> #if defined(Q_OS_QNX) || defined(Q_OS_ANDROID) @@ -2119,7 +2122,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_fillRect(QV4::CallContext } /*! - \qmlmethod object QtQuick::Context2D::fillRect(real x, real y, real w, real h) + \qmlmethod object QtQuick::Context2D::strokeRect(real x, real y, real w, real h) Stroke the specified rectangle's path using the strokeStyle, lineWidth, lineJoin, and (if appropriate) miterLimit attributes. @@ -4109,6 +4112,13 @@ void QQuickContext2D::init(QQuickCanvasItem *canvasItem, const QVariantMap &args } #endif + // Disable threaded background rendering if the platform has issues with it + if (m_renderTarget == QQuickCanvasItem::FramebufferObject + && m_renderStrategy == QQuickCanvasItem::Threaded + && !QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ThreadedOpenGL)) { + m_renderTarget = QQuickCanvasItem::Image; + } + switch (m_renderTarget) { case QQuickCanvasItem::Image: m_texture = new QQuickContext2DImageTexture; |