Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qt56.qtwebkit: fix with icu-59 by upstream patch
The patch is from qtwebkit-5.9.1, but it's fairly simple and seems to work here as well.
- Loading branch information
Showing
2 changed files
with
87 additions
and
0 deletions.
There are no files selected for viewing
86 changes: 86 additions & 0 deletions
86
pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icu-59.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
From: Konstantin Tokarev <annulen@yandex.ru> | ||
Date: Thu, 4 May 2017 12:12:37 +0000 (+0300) | ||
Subject: Fix compilation with ICU 59 | ||
X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtwebkit.git;a=commitdiff_plain;h=bf172ae289a1348842005a9421797970f9b72060;hp=821eaaadc9d63d03aca65cf757230b520daaaa7c | ||
|
||
Fix compilation with ICU 59 | ||
|
||
Upstream fix: https://bugs.webkit.org/show_bug.cgi?id=171612 | ||
|
||
Task-number: QTBUG-60532 | ||
Change-Id: I6014feea213aa70ebe40b09d9d1a03fd1ed3c843 | ||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> | ||
--- | ||
|
||
diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp | ||
index 812f3d4..77a3fd0 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, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef(); | ||
+ return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef(); | ||
} | ||
|
||
JSStringRef JSStringRetain(JSStringRef string) | ||
@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string) | ||
|
||
const JSChar* JSStringGetCharactersPtr(JSStringRef string) | ||
{ | ||
- 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 0b57f01..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]; | ||
diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h | ||
index 9df2c95..f5d6121 100644 | ||
--- a/Source/WTF/wtf/TypeTraits.h | ||
+++ b/Source/WTF/wtf/TypeTraits.h | ||
@@ -72,6 +72,9 @@ namespace WTF { | ||
template<> struct IsInteger<unsigned long> { static const bool value = true; }; | ||
template<> struct IsInteger<long long> { static const bool value = true; }; | ||
template<> struct IsInteger<unsigned long long> { static const bool value = true; }; | ||
+#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT) | ||
+ template<> struct IsInteger<char16_t> { static const bool value = true; }; | ||
+#endif | ||
#if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED) | ||
template<> struct IsInteger<wchar_t> { static const bool value = true; }; | ||
#endif | ||
diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp | ||
index cbac67d..23400a6 100644 | ||
--- a/Source/WebKit2/Shared/API/c/WKString.cpp | ||
+++ b/Source/WebKit2/Shared/API/c/WKString.cpp | ||
@@ -55,7 +55,7 @@ size_t WKStringGetLength(WKStringRef stringRef) | ||
size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t bufferLength) | ||
{ | ||
COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), WKStringGetCharacters_sizeof_WKChar_matches_UChar); | ||
- return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), bufferLength)); | ||
+ return (toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), bufferLength)); | ||
} | ||
|
||
size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
qtwebkit-dlopen-gtk.patch | ||
qtwebkit-dlopen-udev.patch | ||
qtwebkit-icucore-darwin.patch | ||
qtwebkit-icu-59.patch |