summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/qpa/macx-iphonedevice-g++/qmake.conf6
-rw-r--r--src/corelib/arch/qatomic_armv6.h2
-rw-r--r--src/gui/text/qtextengine.cpp2
-rw-r--r--src/imports/imports.pro2
-rw-r--r--src/plugins/platforms/uikit/README4
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avmediaobject.mm2
-rw-r--r--src/plugins/platforms/uikit/quikitwindow.mm31
-rw-r--r--src/svg/qsvgstructure.cpp2
8 files changed, 36 insertions, 15 deletions
diff --git a/mkspecs/qpa/macx-iphonedevice-g++/qmake.conf b/mkspecs/qpa/macx-iphonedevice-g++/qmake.conf
index d69f58d..faec47d 100644
--- a/mkspecs/qpa/macx-iphonedevice-g++/qmake.conf
+++ b/mkspecs/qpa/macx-iphonedevice-g++/qmake.conf
@@ -43,10 +43,10 @@ QMAKE_CXX = /Developer/Platforms/iPhoneOS.platform/Developer/usr/b
QMAKE_LINK = $$QMAKE_CXX
QMAKE_LINK_SHLIB = $$QMAKE_CXX
-QMAKE_CFLAGS += -arch armv7 -marm -isysroot $$QMAKE_IOS_SDK -fmessage-length=0 -fexceptions -miphoneos-version-min=4.2
+QMAKE_CFLAGS += -arch armv7 -isysroot $$QMAKE_IOS_SDK -fmessage-length=0 -fexceptions -miphoneos-version-min=4.2
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -fvisibility=hidden -fvisibility-inlines-hidden
-QMAKE_OBJECTIVE_CFLAGS += -arch armv7 -marm -isysroot $$QMAKE_IOS_SDK -fmessage-length=0 -fexceptions -miphoneos-version-min=4.2
-QMAKE_LFLAGS += -arch armv7 -marm -miphoneos-version-min=4.2 -Wl,-syslibroot,$$QMAKE_IOS_SDK
+QMAKE_OBJECTIVE_CFLAGS += -arch armv7 -isysroot $$QMAKE_IOS_SDK -fmessage-length=0 -fexceptions -miphoneos-version-min=4.2
+QMAKE_LFLAGS += -arch armv7 -miphoneos-version-min=4.2 -Wl,-syslibroot,$$QMAKE_IOS_SDK
QMAKE_LFLAGS += -framework Foundation -framework UIKit -framework QuartzCore -lz
QMAKE_INCDIR_OPENGL =
diff --git a/src/corelib/arch/qatomic_armv6.h b/src/corelib/arch/qatomic_armv6.h
index 96b561e..dd465db 100644
--- a/src/corelib/arch/qatomic_armv6.h
+++ b/src/corelib/arch/qatomic_armv6.h
@@ -152,6 +152,7 @@ inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
asm volatile("0:\n"
"ldrex %[result], [%[_q_value]]\n"
"eors %[result], %[result], %[expectedValue]\n"
+ "itt eq\n"
"strexeq %[result], %[newValue], [%[_q_value]]\n"
"teqeq %[result], #1\n"
"beq 0b\n"
@@ -210,6 +211,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValu
asm volatile("0:\n"
"ldrex %[result], [%[_q_value]]\n"
"eors %[result], %[result], %[expectedValue]\n"
+ "itt eq\n"
"strexeq %[result], %[newValue], [%[_q_value]]\n"
"teqeq %[result], #1\n"
"beq 0b\n"
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index 9301f16..9f148ee 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -1534,8 +1534,6 @@ void QTextEngine::itemize() const
while (uc < e) {
switch (*uc) {
case QChar::ObjectReplacementCharacter:
- if (analysis->bidiLevel % 2)
- --analysis->bidiLevel;
analysis->script = QUnicodeTables::Common;
analysis->flags = QScriptAnalysis::Object;
break;
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
index c1298e2..d0e24b0 100644
--- a/src/imports/imports.pro
+++ b/src/imports/imports.pro
@@ -1,5 +1,5 @@
TEMPLATE = subdirs
SUBDIRS += folderlistmodel particles gestures
-contains(QT_CONFIG, opengl): SUBDIRS += shaders
+contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles1): SUBDIRS += shaders
diff --git a/src/plugins/platforms/uikit/README b/src/plugins/platforms/uikit/README
index 81ef0bd..795e72a 100644
--- a/src/plugins/platforms/uikit/README
+++ b/src/plugins/platforms/uikit/README
@@ -37,11 +37,11 @@ After configuring and building Qt you need to also build src/plugins/platforms/u
Simulator:
----------
-configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
+configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
Device:
-------
-configure -qpa -xplatform qpa/macx-iphonedevice-g++ -arch armv7 -no-neon -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
+configure -qpa -xplatform qpa/macx-iphonedevice-g++ -arch armv7 -no-neon -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
2) XCode setup:
- there are examples in the examples subdirectory of the platform plugin
diff --git a/src/plugins/platforms/uikit/phonon_av/avmediaobject.mm b/src/plugins/platforms/uikit/phonon_av/avmediaobject.mm
index 388866f..9cbddc0 100644
--- a/src/plugins/platforms/uikit/phonon_av/avmediaobject.mm
+++ b/src/plugins/platforms/uikit/phonon_av/avmediaobject.mm
@@ -60,7 +60,7 @@
- (id)initWithMediaObject:(AVMediaObject *)obj
{
- if (self = [self init]) {
+ if ((self = [self init])) {
mediaObject = obj;
}
return self;
diff --git a/src/plugins/platforms/uikit/quikitwindow.mm b/src/plugins/platforms/uikit/quikitwindow.mm
index 6e018fe..640b92e 100644
--- a/src/plugins/platforms/uikit/quikitwindow.mm
+++ b/src/plugins/platforms/uikit/quikitwindow.mm
@@ -53,6 +53,23 @@
#include <QtDebug>
+static GLint stencilBits()
+{
+ static GLint bits;
+ static bool initialized = false;
+ if (!initialized) {
+ glGetIntegerv(GL_STENCIL_BITS, &bits);
+ initialized = true;
+ }
+ return bits;
+}
+
+static GLint depthBits()
+{
+ // we can choose between GL_DEPTH24_STENCIL8_OES and GL_DEPTH_COMPONENT16
+ return stencilBits() > 0 ? 24 : 16;
+}
+
class EAGLPlatformContext : public QPlatformGLContext
{
public:
@@ -60,13 +77,13 @@ public:
: mView(view)
{
mFormat.setWindowApi(QPlatformWindowFormat::OpenGL);
- mFormat.setDepthBufferSize(24);
+ mFormat.setDepthBufferSize(depthBits());
mFormat.setAccumBufferSize(0);
mFormat.setRedBufferSize(8);
mFormat.setGreenBufferSize(8);
mFormat.setBlueBufferSize(8);
mFormat.setAlphaBufferSize(8);
- mFormat.setStencilBufferSize(8);
+ mFormat.setStencilBufferSize(stencilBits());
mFormat.setSamples(0);
mFormat.setSampleBuffers(false);
mFormat.setDoubleBuffer(true);
@@ -74,7 +91,7 @@ public:
mFormat.setRgba(true);
mFormat.setAlpha(true);
mFormat.setAccum(false);
- mFormat.setStencil(true);
+ mFormat.setStencil(stencilBits() > 0);
mFormat.setStereo(false);
mFormat.setDirectRendering(false);
@@ -203,9 +220,13 @@ private:
glGenRenderbuffers(1, &mDepthRenderbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, mDepthRenderbuffer);
- glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_OES, mFramebufferWidth, mFramebufferHeight);
+ if (stencilBits() > 0) {
+ glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8_OES, mFramebufferWidth, mFramebufferHeight);
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, mDepthRenderbuffer);
+ } else {
+ glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, mFramebufferWidth, mFramebufferHeight);
+ }
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, mDepthRenderbuffer);
- glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, mDepthRenderbuffer);
if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatus(GL_FRAMEBUFFER));
diff --git a/src/svg/qsvgstructure.cpp b/src/svg/qsvgstructure.cpp
index cc158ba..4d9fad5 100644
--- a/src/svg/qsvgstructure.cpp
+++ b/src/svg/qsvgstructure.cpp
@@ -369,7 +369,7 @@ QSvgNode * QSvgStructureNode::previousSiblingNode(QSvgNode *n) const
{
QSvgNode *prev = 0;
QList<QSvgNode*>::const_iterator itr = m_renderers.constBegin();
- while (itr != m_renderers.constEnd()) {
+ for (; itr != m_renderers.constEnd(); ++itr) {
QSvgNode *node = *itr;
if (node == n)
return prev;