[jhbuild] core-deps-3.26: patch webkit 2.17.1 for icu 59.1
- From: Rafael Fontenelle <rafaelff src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] core-deps-3.26: patch webkit 2.17.1 for icu 59.1
- Date: Sun, 7 May 2017 19:39:36 +0000 (UTC)
commit 1636287c0302f476fa2672fc7033cc435ca6547d
Author: Rafael Fontenelle <rafaelff gnome org>
Date: Sat May 6 21:45:39 2017 -0300
core-deps-3.26: patch webkit 2.17.1 for icu 59.1
https://bugs.webkit.org/show_bug.cgi?id=171612
modulesets/gnome-suites-core-deps-3.26.modules | 1 +
patches/webkitgtk-2.17.1-fix-icu59.patch | 106 ++++++++++++++++++++++++
2 files changed, 107 insertions(+), 0 deletions(-)
---
diff --git a/modulesets/gnome-suites-core-deps-3.26.modules b/modulesets/gnome-suites-core-deps-3.26.modules
index 9ea7a72..acb7dc8 100644
--- a/modulesets/gnome-suites-core-deps-3.26.modules
+++ b/modulesets/gnome-suites-core-deps-3.26.modules
@@ -1884,6 +1884,7 @@
hash="sha256:11df5bbbd23b299e4136969b2869e01404e19def96b9d14f6caa3c7684948167"
size="14800496">
</branch>
+ <patch file="webkitgtk-2.17.1-fix-icu59.patch" strip="1"/>
<dependencies>
<dep package="c++"/>
<dep package="at-spi2-core"/>
diff --git a/patches/webkitgtk-2.17.1-fix-icu59.patch b/patches/webkitgtk-2.17.1-fix-icu59.patch
new file mode 100644
index 0000000..db9cdca
--- /dev/null
+++ b/patches/webkitgtk-2.17.1-fix-icu59.patch
@@ -0,0 +1,106 @@
+From 868adfcb9efa4ad5cf4d0ddd5a772e5bdb2f3f35 Mon Sep 17 00:00:00 2001
+From: "annulen yandex ru"
+ <annulen yandex ru@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
+Date: Thu, 4 May 2017 15:33:41 +0000
+Subject: [PATCH] Fix compilation with ICU 59.1
+ https://bugs.webkit.org/show_bug.cgi?id=171612
+
+Reviewed by Mark Lam.
+
+ICU 59.1 has broken source compatibility. Now it defines UChar as
+char16_t, which does not allow automatic type conversion from unsigned
+short in C++ code.
+
+Source/JavaScriptCore:
+
+* API/JSStringRef.cpp:
+(JSStringCreateWithCharacters):
+(JSStringCreateWithCharactersNoCopy):
+(JSStringGetCharactersPtr):
+* runtime/DateConversion.cpp:
+(JSC::formatDateTime):
+
+Source/WebKit2:
+
+* Shared/API/c/WKString.cpp:
+(WKStringGetCharacters):
+
+
+git-svn-id: http://svn.webkit.org/repository/webkit/trunk@216187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+---
+ Source/JavaScriptCore/API/JSStringRef.cpp | 6 +++---
+ Source/JavaScriptCore/ChangeLog | 18 ++++++++++++++++++
+ Source/JavaScriptCore/runtime/DateConversion.cpp | 7 ++-----
+ Source/WebKit2/Shared/API/c/WKString.cpp | 2 +-
+ 7 files changed, 53 insertions(+), 10 deletions(-)
+
+diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp
+index c9b380c..9095404 100644
+--- a/Source/JavaScriptCore/API/JSStringRef.cpp
++++ b/Source/JavaScriptCore/API/JSStringRef.cpp
+@@ -37,7 +37,7 @@ using namespace WTF::Unicode;
+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
+ {
+ initializeThreading();
+- return &OpaqueJSString::create(chars, numChars).leakRef();
++ return &OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), numChars).leakRef();
+ }
+
+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
+@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string)
+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
+ {
+ initializeThreading();
+- return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars)).leakRef();
++ return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars),
numChars)).leakRef();
+ }
+
+ JSStringRef JSStringRetain(JSStringRef string)
+@@ -87,7 +87,7 @@ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
+ {
+ if (!string)
+ return nullptr;
+- return string->characters();
++ return reinterpret_cast<const JSChar*>(string->characters());
+ }
+
+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
+diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp
b/Source/JavaScriptCore/runtime/DateConversion.cpp
+index df9a60d..05e2733 100644
+--- a/Source/JavaScriptCore/runtime/DateConversion.cpp
++++ b/Source/JavaScriptCore/runtime/DateConversion.cpp
+@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as
+ #if OS(WINDOWS)
+ TIME_ZONE_INFORMATION timeZoneInformation;
+ GetTimeZoneInformation(&timeZoneInformation);
+- const WCHAR* timeZoneName = t.isDST() ? timeZoneInformation.DaylightName :
timeZoneInformation.StandardName;
++ const WCHAR* winTimeZoneName = t.isDST() ? timeZoneInformation.DaylightName :
timeZoneInformation.StandardName;
++ String timeZoneName(reinterpret_cast<const UChar*>(winTimeZoneName));
+ #else
+ struct tm gtm = t;
+ char timeZoneName[70];
+@@ -115,11 +116,7 @@ String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as
+ #endif
+ if (timeZoneName[0]) {
+ builder.appendLiteral(" (");
+-#if OS(WINDOWS)
+- builder.append(String(timeZoneName));
+-#else
+ builder.append(timeZoneName);
+-#endif
+ builder.append(')');
+ }
+ }
+diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp
+index 34d15f1..6503670 100644
+--- a/Source/WebKit2/Shared/API/c/WKString.cpp
++++ b/Source/WebKit2/Shared/API/c/WKString.cpp
+@@ -61,7 +61,7 @@ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t buffe
+ unsigned unsignedBufferLength = std::min<size_t>(bufferLength, std::numeric_limits<unsigned>::max());
+ auto substring = toImpl(stringRef)->stringView().substring(0, unsignedBufferLength);
+
+- substring.getCharactersWithUpconvert(static_cast<UChar*>(buffer));
++ substring.getCharactersWithUpconvert(reinterpret_cast<UChar*>(buffer));
+ return substring.length();
+ }
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]