summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-06-30 09:21:56 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-06-30 09:21:56 (GMT)
commit197df24edfe095a10e2bf65116796e027fea44e2 (patch)
tree4ffb08f614b550298663f90297c9e559ecb47a3c /src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp
parent1e84894225e31adf80a7a33da7f655fb5c38ea0e (diff)
parente3c1039d4d10aa383a1f681e7dd9c1129d22d8ca (diff)
downloadQt-197df24edfe095a10e2bf65116796e027fea44e2.zip
Qt-197df24edfe095a10e2bf65116796e027fea44e2.tar.gz
Qt-197df24edfe095a10e2bf65116796e027fea44e2.tar.bz2
Merge commit 'qt/master-stable' into 4.6-merged
Conflicts: .gitignore configure.exe src/corelib/concurrent/qtconcurrentthreadengine.h src/corelib/global/qnamespace.h src/gui/graphicsview/qgraphicssceneevent.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication.h src/gui/kernel/qapplication_p.h src/gui/kernel/qapplication_qws.cpp src/gui/kernel/qwidget.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp src/network/access/qnetworkaccesshttpbackend.cpp tests/auto/network-settings.h tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro tests/auto/qvariant/tst_qvariant.cpp
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp
index 65edd09..d1f6fe3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSStringRefCF.cpp
@@ -27,6 +27,7 @@
#include "JSStringRefCF.h"
#include "APICast.h"
+#include "InitializeThreading.h"
#include "JSStringRef.h"
#include "OpaqueJSString.h"
#include <runtime/UString.h>
@@ -35,7 +36,11 @@
JSStringRef JSStringCreateWithCFString(CFStringRef string)
{
- CFIndex length = CFStringGetLength(string);
+ JSC::initializeThreading();
+
+ // We cannot use CFIndex here since CFStringGetLength can return values larger than
+ // it can hold. (<rdar://problem/6806478>)
+ size_t length = CFStringGetLength(string);
if (length) {
OwnArrayPtr<UniChar> buffer(new UniChar[length]);
CFStringGetCharacters(string, CFRangeMake(0, length), buffer.get());
@@ -44,7 +49,7 @@ JSStringRef JSStringCreateWithCFString(CFStringRef string)
} else {
return OpaqueJSString::create(0, 0).releaseRef();
}
- }
+}
CFStringRef JSStringCopyCFString(CFAllocatorRef alloc, JSStringRef string)
{