mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-21 00:25:50 +00:00
The KDE on FreeBSD team presents Qt 4.8.6.
This is a minor bugfix release that fortunately contains quite a few patches that we have upstreamed in the past months. See http://blog.qt.digia.com/blog/2014/04/24/qt-4-8-6-released/ for a summary of changes, and http://download.qt-project.org/official_releases/qt/4.8/4.8.6/changes-4.8.6 for a detailed list of changes. This patch contains commits by me, makc@ and Schaich Alonso. PR: ports/189213
This commit is contained in:
parent
c1617bf425
commit
5b979ce1a8
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=353040
@ -26,7 +26,7 @@ Qt_Pre_Include= bsd.qt.mk
|
||||
|
||||
# Qt versions currently supported by the framework.
|
||||
_QT_SUPPORTED?= 4 5
|
||||
QT4_VERSION?= 4.8.5
|
||||
QT4_VERSION?= 4.8.6
|
||||
QT5_VERSION?= 5.2.1
|
||||
|
||||
QT_PREFIX?= ${LOCALBASE}
|
||||
|
@ -54,6 +54,13 @@ pre-configure:
|
||||
${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|" \
|
||||
${WRKSRC}/src/core/RSettings.cpp
|
||||
|
||||
# Temporary hack for Qt 4.8.6 support while upstream does not add proper
|
||||
# bindings.
|
||||
(cd ${WRKSRC}/src/3rdparty/qt-labs-qtscriptgenerator-4.8.5 && \
|
||||
${COPYTREE_SHARE} . ../qt-labs-qtscriptgenerator-4.8.6)
|
||||
(cd ${WRKSRC}/src/3rdparty/qt-labs-qtscriptgenerator-4.8.6 && \
|
||||
mv qt-labs-qtscriptgenerator-4.8.5.pro qt-labs-qtscriptgenerator-4.8.6.pro)
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${RESDIR}/qcad-bin ${STAGEDIR}${PREFIX}/bin/
|
||||
${LN} -sf ${PREFIX}/bin/qcad-bin ${STAGEDIR}${PREFIX}/bin/qcad
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qt4-${DB}-plugin
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= databases
|
||||
|
||||
MAINTAINER= kde@FreeBSD.org
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qmake
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
@ -64,7 +63,6 @@ post-patch:
|
||||
-e '/gcc-base-unix.conf/d' \
|
||||
${WRKSRC:H}/mkspecs/freebsd-clang/qmake.conf
|
||||
|
||||
@${RM} ${WRKSRC:H}/mkspecs/features/unix/*.orig
|
||||
@${RM} ${WRKSRC:H}/mkspecs/*/*.orig
|
||||
|
||||
do-configure: apply-slist
|
||||
|
@ -1,36 +0,0 @@
|
||||
From fdecdc39399994d2c0309005922590e2f106bbef Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
||||
Date: Sun, 11 Aug 2013 15:08:48 +0300
|
||||
Subject: [PATCH] gdb_dwarf_index: Use a sed call that's more POSIX-compliant.
|
||||
|
||||
sed versions other than the GNU one often default to being POSIX-compliant,
|
||||
in which case "+" (with and without escaping) is always an ordinary
|
||||
character.
|
||||
|
||||
Achieve the same functionality in a way that works with both GNU and BSD
|
||||
seds by using "xx*" insted of "x\+".
|
||||
|
||||
Cherry-picked from qtbase/faea8d1056e4b034404febd0ef44a00e7784018d.
|
||||
|
||||
Change-Id: I462e070992ff214a7261d45c208f2e5f3e962e8f
|
||||
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
||||
---
|
||||
mkspecs/features/unix/gdb_dwarf_index.prf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mkspecs/features/unix/gdb_dwarf_index.prf b/mkspecs/features/unix/gdb_dwarf_index.prf
|
||||
index e3f79cd..84b4e18 100644
|
||||
--- ../mkspecs/features/unix/gdb_dwarf_index.prf
|
||||
+++ ../mkspecs/features/unix/gdb_dwarf_index.prf
|
||||
@@ -9,7 +9,7 @@
|
||||
}
|
||||
|
||||
QMAKE_GDB_INDEX += \
|
||||
- test \$\$(gdb --version | sed -e \'s,[^0-9]\\+\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \
|
||||
+ test \$\$(gdb --version | sed -e \'s,[^0-9][^0-9]*\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \
|
||||
gdb --nx --batch --quiet -ex \'set confirm off\' -ex \"save gdb-index $$QMAKE_GDB_DIR\" -ex quit \'$(TARGET)\' && \
|
||||
test -f $(TARGET).gdb-index && \
|
||||
$$QMAKE_OBJCOPY --add-section \'.gdb_index=$(TARGET).gdb-index\' --set-section-flags \'.gdb_index=readonly\' \'$(TARGET)\' \'$(TARGET)\' && \
|
||||
--
|
||||
1.8.3.4
|
||||
|
@ -419,6 +419,10 @@
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang/Info.plist.lib
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang/qmake.conf
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang/qplatformdefs.h
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/Info.plist.app
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/Info.plist.lib
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/qmake.conf
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-clang-libc++/qplatformdefs.h
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang-legacy/qmake.conf
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang-legacy/qplatformdefs.h
|
||||
%%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang/qmake.conf
|
||||
@ -481,6 +485,8 @@
|
||||
%%QT_MKSPECDIR%%/win32-msvc2010/qplatformdefs.h
|
||||
%%QT_MKSPECDIR%%/win32-msvc2012/qmake.conf
|
||||
%%QT_MKSPECDIR%%/win32-msvc2012/qplatformdefs.h
|
||||
%%QT_MKSPECDIR%%/win32-msvc2013/qmake.conf
|
||||
%%QT_MKSPECDIR%%/win32-msvc2013/qplatformdefs.h
|
||||
%%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005/default_post.prf
|
||||
%%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005/qmake.conf
|
||||
%%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005/qplatformdefs.h
|
||||
@ -571,6 +577,7 @@
|
||||
@dirrm %%QT_MKSPECDIR%%/wince50standard-mipsii-msvc2005
|
||||
@dirrm %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2008
|
||||
@dirrm %%QT_MKSPECDIR%%/wince50standard-armv4i-msvc2005
|
||||
@dirrm %%QT_MKSPECDIR%%/win32-msvc2013
|
||||
@dirrm %%QT_MKSPECDIR%%/win32-msvc2012
|
||||
@dirrm %%QT_MKSPECDIR%%/win32-msvc2010
|
||||
@dirrm %%QT_MKSPECDIR%%/win32-msvc2008
|
||||
@ -603,6 +610,7 @@
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-g++
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang-legacy
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/macx-iosdevice-clang
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/macx-clang-libc++
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/macx-clang
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/linux-scratchbox2-g++
|
||||
@dirrm %%QT_MKSPECDIR%%/unsupported/linux-host-g++
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= assistant
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= corelib
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
%%QT_INCDIR%%/Qt/qatomic_i386.h
|
||||
%%QT_INCDIR%%/Qt/qatomic_ia64.h
|
||||
%%QT_INCDIR%%/Qt/qatomic_integrity.h
|
||||
%%QT_INCDIR%%/Qt/qatomic_m68k.h
|
||||
%%QT_INCDIR%%/Qt/qatomic_macosx.h
|
||||
%%QT_INCDIR%%/Qt/qatomic_mips.h
|
||||
%%QT_INCDIR%%/Qt/qatomic_parisc.h
|
||||
@ -469,6 +470,7 @@
|
||||
%%QT_INCDIR%%/QtCore/qatomic_i386.h
|
||||
%%QT_INCDIR%%/QtCore/qatomic_ia64.h
|
||||
%%QT_INCDIR%%/QtCore/qatomic_integrity.h
|
||||
%%QT_INCDIR%%/QtCore/qatomic_m68k.h
|
||||
%%QT_INCDIR%%/QtCore/qatomic_macosx.h
|
||||
%%QT_INCDIR%%/QtCore/qatomic_mips.h
|
||||
%%QT_INCDIR%%/QtCore/qatomic_parisc.h
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= designer
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= linguist
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= moc
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qdbusviewer
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qmlviewer
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qvfb
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- ./src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp.orig 2012-12-12 20:18:37.000000000 +0100
|
||||
+++ ./src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp 2012-12-17 02:10:50.513375070 +0100
|
||||
@@ -80,7 +80,7 @@
|
||||
#define THUMB_FUNC_PARAM(name)
|
||||
#endif
|
||||
|
||||
-#if OS(LINUX) && CPU(X86_64)
|
||||
+#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64)
|
||||
#define SYMBOL_STRING_RELOCATION(name) #name "@plt"
|
||||
#else
|
||||
#define SYMBOL_STRING_RELOCATION(name) SYMBOL_STRING(name)
|
@ -1,38 +0,0 @@
|
||||
From 952b046ba5bc99986f747729681914e21f8fb8b0 Mon Sep 17 00:00:00 2001
|
||||
From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
|
||||
Date: Wed, 30 May 2012 11:49:40 +0200
|
||||
Subject: [PATCH] Compile with clang's libc++
|
||||
|
||||
An overload for std::swap() what works with std::pair<A,B> is included
|
||||
in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by
|
||||
omitting the version there and using the std::swap() version.
|
||||
|
||||
Collector.cpp needs to include pthread.h directly, as it is not
|
||||
automatically included by libc++'s headers (libstdc++ does pull in
|
||||
pthread.h though).
|
||||
|
||||
Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8.
|
||||
|
||||
Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
---
|
||||
src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 2 ++
|
||||
src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 ++--
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
|
||||
index 6af1784..711949b 100644
|
||||
--- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
|
||||
+++ src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp
|
||||
@@ -52,6 +52,8 @@
|
||||
#include <mach/task.h>
|
||||
#include <mach/thread_act.h>
|
||||
#include <mach/vm_map.h>
|
||||
+// clang's libc++ headers does not pull in pthread.h (but libstdc++ does)
|
||||
+#include <pthread.h>
|
||||
|
||||
#elif OS(WINDOWS)
|
||||
|
||||
--
|
||||
1.8.4
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 952b046ba5bc99986f747729681914e21f8fb8b0 Mon Sep 17 00:00:00 2001
|
||||
From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
|
||||
Date: Wed, 30 May 2012 11:49:40 +0200
|
||||
Subject: [PATCH] Compile with clang's libc++
|
||||
|
||||
An overload for std::swap() what works with std::pair<A,B> is included
|
||||
in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by
|
||||
omitting the version there and using the std::swap() version.
|
||||
|
||||
Collector.cpp needs to include pthread.h directly, as it is not
|
||||
automatically included by libc++'s headers (libstdc++ does pull in
|
||||
pthread.h though).
|
||||
|
||||
Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8.
|
||||
|
||||
Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
---
|
||||
src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 2 ++
|
||||
src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 ++--
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
|
||||
index bea9daa..42a9233 100644
|
||||
--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
|
||||
+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h
|
||||
@@ -257,8 +257,8 @@ namespace WTF {
|
||||
|
||||
using std::swap;
|
||||
|
||||
-#if !COMPILER(MSVC) && !OS(QNX)
|
||||
- // The Dinkumware C++ library (used by MSVC and QNX) has a swap for pairs defined.
|
||||
+#if !COMPILER(MSVC) && !OS(QNX) && !defined(_LIBCPP_VERSION)
|
||||
+ // The Dinkumware C++ library (used by MSVC and QNX) and clang's libc++ have a swap for pairs defined.
|
||||
|
||||
// swap pairs by component, in case of pair members that specialize swap
|
||||
template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b)
|
||||
--
|
||||
1.8.4
|
||||
|
@ -1,48 +1,5 @@
|
||||
From 0de22e80ac645afc3793419300d6271d95809196 Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
||||
Date: Tue, 11 Jun 2013 19:25:08 +0300
|
||||
Subject: [PATCH] Bring in WebKit revisions 139553 and 139921.
|
||||
|
||||
They are primarily useful for getting rid of some libstdc++-specific
|
||||
includes which break the build with libc++, and also for simplifying the
|
||||
code and removing a Darwin-specific code path.
|
||||
|
||||
r139553 by ossy@webkit.org:
|
||||
Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add
|
||||
https://bugs.webkit.org/show_bug.cgi?id=106729
|
||||
|
||||
After r139514 we need atomicIncrement(int64_t volatile*) for all
|
||||
platform. Now the GCC implementation of atomicIncrement() is based on
|
||||
gnu_cxx::exchange_and_add, which doesn't support int64_t type, but
|
||||
sync_add_and_fetch does.
|
||||
|
||||
Reviewed by Benjamin Poulain.
|
||||
|
||||
r139921 by benjamin@webkit.org:
|
||||
Use GCC's implementation of atomicIncrement/Decrement on Mac
|
||||
https://bugs.webkit.org/show_bug.cgi?id=106976
|
||||
|
||||
Reviewed by Filip Pizlo.
|
||||
|
||||
wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB:
|
||||
sync_add_and_fetch, sync_sub_and_fetch.
|
||||
|
||||
Using them let the compiler just generate the atomic operations inline
|
||||
instead of generating a function call to LibC. It also simplify the
|
||||
code a bit.
|
||||
|
||||
Cherry-picked from qtscript/184fc178f4c753727445694c4830c250f53da588.
|
||||
|
||||
Change-Id: Id785e35944682691725947e0f329668d17ff6903
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
---
|
||||
.../javascriptcore/JavaScriptCore/wtf/Threading.h | 18 ++----------------
|
||||
1 file changed, 2 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
index 8b76c0f..b3ea7d2 100644
|
||||
--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
||||
--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h.orig 2014-04-10 20:37:12.000000000 +0200
|
||||
+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2014-04-24 15:06:18.000000000 +0200
|
||||
@@ -71,18 +71,10 @@
|
||||
|
||||
#if OS(WINDOWS) && !OS(WINCE)
|
||||
@ -62,7 +19,7 @@ index 8b76c0f..b3ea7d2 100644
|
||||
#endif
|
||||
|
||||
#if USE(PTHREADS)
|
||||
@@ -230,12 +222,6 @@ inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(r
|
||||
@@ -230,12 +222,6 @@
|
||||
inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast<long volatile*>(addend)); }
|
||||
#endif
|
||||
|
||||
@ -75,17 +32,3 @@ index 8b76c0f..b3ea7d2 100644
|
||||
#elif OS(ANDROID)
|
||||
|
||||
inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); }
|
||||
@@ -250,8 +236,8 @@ inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value
|
||||
#elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
|
||||
#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
|
||||
|
||||
-inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; }
|
||||
-inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
|
||||
+inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); }
|
||||
+inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
|
||||
|
||||
#endif
|
||||
|
||||
--
|
||||
1.8.4
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qt4
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= # empty
|
||||
DISTFILES= # none
|
||||
|
@ -1,2 +1,2 @@
|
||||
SHA256 (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138
|
||||
SIZE (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = 241491467
|
||||
SHA256 (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c
|
||||
SIZE (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 241623667
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= qtcreator
|
||||
DISTVERSION= 2.8.0
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= ${MASTER_SITE_QT:S/$/:qtcreator/} \
|
||||
${MASTER_SITE_QT}
|
||||
|
@ -1,4 +1,4 @@
|
||||
SHA256 (KDE/qt-creator-2.8.0-src.tar.gz) = 7ac5d9a36c2f561f74d77378d4eae95a78c7752b323e1df924d6e895e99f45d2
|
||||
SIZE (KDE/qt-creator-2.8.0-src.tar.gz) = 24210148
|
||||
SHA256 (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138
|
||||
SIZE (KDE/qt-everywhere-opensource-src-4.8.5.tar.gz) = 241491467
|
||||
SHA256 (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c
|
||||
SIZE (KDE/qt-everywhere-opensource-src-4.8.6.tar.gz) = 241623667
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= pixeltool
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= graphics
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -229,8 +229,8 @@
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-networkaccessmanagerfactory-networkaccessmanagerfactory-qrc.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-networkaccessmanagerfactory-qml-networkaccessmanagerfactory-view-qml.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-networkaccessmanagerfactory.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-com-nokia-timeexample-clock-qml.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-com-nokia-timeexample-qmldir.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-org-qtproject-timeexample-clock-qml.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-org-qtproject-timeexample-qmldir.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-plugin-cpp.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-plugins-pro.html
|
||||
%%DOCSDIR%%/html/declarative-cppextensions-plugins-plugins-qml.html
|
||||
|
@ -1,6 +1,7 @@
|
||||
%%QT_L10NDIR%%/assistant_cs.qm
|
||||
%%QT_L10NDIR%%/assistant_da.qm
|
||||
%%QT_L10NDIR%%/assistant_de.qm
|
||||
%%QT_L10NDIR%%/assistant_eu.qm
|
||||
%%QT_L10NDIR%%/assistant_fr.qm
|
||||
%%QT_L10NDIR%%/assistant_hu.qm
|
||||
%%QT_L10NDIR%%/assistant_ja.qm
|
||||
@ -25,6 +26,7 @@
|
||||
%%QT_L10NDIR%%/designer_zh_TW.qm
|
||||
%%QT_L10NDIR%%/linguist_cs.qm
|
||||
%%QT_L10NDIR%%/linguist_de.qm
|
||||
%%QT_L10NDIR%%/linguist_eu.qm
|
||||
%%QT_L10NDIR%%/linguist_fr.qm
|
||||
%%QT_L10NDIR%%/linguist_hu.qm
|
||||
%%QT_L10NDIR%%/linguist_ja.qm
|
||||
@ -40,6 +42,7 @@
|
||||
%%QT_L10NDIR%%/qt_da.qm
|
||||
%%QT_L10NDIR%%/qt_de.qm
|
||||
%%QT_L10NDIR%%/qt_es.qm
|
||||
%%QT_L10NDIR%%/qt_eu.qm
|
||||
%%QT_L10NDIR%%/qt_fa.qm
|
||||
%%QT_L10NDIR%%/qt_fr.qm
|
||||
%%QT_L10NDIR%%/qt_gl.qm
|
||||
@ -47,6 +50,7 @@
|
||||
%%QT_L10NDIR%%/qt_help_cs.qm
|
||||
%%QT_L10NDIR%%/qt_help_da.qm
|
||||
%%QT_L10NDIR%%/qt_help_de.qm
|
||||
%%QT_L10NDIR%%/qt_help_eu.qm
|
||||
%%QT_L10NDIR%%/qt_help_fr.qm
|
||||
%%QT_L10NDIR%%/qt_help_gl.qm
|
||||
%%QT_L10NDIR%%/qt_help_hu.qm
|
||||
@ -71,6 +75,8 @@
|
||||
%%QT_L10NDIR%%/qt_uk.qm
|
||||
%%QT_L10NDIR%%/qt_zh_CN.qm
|
||||
%%QT_L10NDIR%%/qt_zh_TW.qm
|
||||
%%QT_L10NDIR%%/qtconfig_eu.qm
|
||||
%%QT_L10NDIR%%/qtconfig_he.qm
|
||||
%%QT_L10NDIR%%/qtconfig_hu.qm
|
||||
%%QT_L10NDIR%%/qtconfig_ja.qm
|
||||
%%QT_L10NDIR%%/qtconfig_ko.qm
|
||||
@ -80,6 +86,8 @@
|
||||
%%QT_L10NDIR%%/qtconfig_uk.qm
|
||||
%%QT_L10NDIR%%/qtconfig_zh_CN.qm
|
||||
%%QT_L10NDIR%%/qtconfig_zh_TW.qm
|
||||
%%QT_L10NDIR%%/qtscript_eu.qm
|
||||
%%QT_L10NDIR%%/qvfb_eu.qm
|
||||
%%QT_L10NDIR%%/qvfb_hu.qm
|
||||
%%QT_L10NDIR%%/qvfb_ja.qm
|
||||
%%QT_L10NDIR%%/qvfb_ko.qm
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qtconfig
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= misc
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= qtdemo
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= misc
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -1032,16 +1032,16 @@
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory/view.qml
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/Makefile
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/README
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/Clock.qml
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/center.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/clock.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/hour.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/libqmlqtimeexampleplugin.so
|
||||
%%DEBUG%%%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/libqmlqtimeexampleplugin.so.debug
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/minute.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample/qmldir
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/libqmlqwidgetsplugin.so
|
||||
%%DEBUG%%%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/libqmlqwidgetsplugin.so.debug
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/Clock.qml
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/center.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/clock.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/hour.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/libqmlqtimeexampleplugin.so
|
||||
%%DEBUG%%%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/libqmlqtimeexampleplugin.so.debug
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/minute.png
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/qmldir
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/plugin.cpp
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/plugins.pro
|
||||
%%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/plugins.qml
|
||||
@ -4831,9 +4831,9 @@
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/qgraphicslayouts/layoutitem
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/qgraphicslayouts
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia/TimeExample
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com/nokia
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/com
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org/qtproject
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins/org
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/plugins
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/networkaccessmanagerfactory/qml/networkaccessmanagerfactory
|
||||
@dirrm %%QT_EXAMPLEDIR%%/examples/declarative/cppextensions/networkaccessmanagerfactory/qml
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
PORTNAME= webkit
|
||||
DISTVERSION= ${QT4_VERSION}
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= www
|
||||
PKGNAMEPREFIX= qt4-
|
||||
|
||||
|
@ -208,7 +208,7 @@ libc++ provides std::nullptr emulation, so we don't have to.
|
||||
#define __has_feature(feature) 0
|
||||
#endif
|
||||
|
||||
-#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL))
|
||||
-#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION)
|
||||
+#include <ciso646>
|
||||
+
|
||||
+#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION)
|
||||
@ -231,288 +231,6 @@ libc++ provides std::nullptr emulation, so we don't have to.
|
||||
document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets.
|
||||
document()->styleSelectorChanged(RecalcStyleImmediately);
|
||||
document()->setParsing(true);
|
||||
--- src/3rdparty/webkit/Source/WebCore/platform/Timer.cpp (revision 92555)
|
||||
+++ src/3rdparty/webkit/Source/WebCore/platform/Timer.cpp (revision 92556)
|
||||
@@ -41,6 +41,8 @@
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
+class TimerHeapReference;
|
||||
+
|
||||
// Timers are stored in a heap data structure, used to implement a priority queue.
|
||||
// This allows us to efficiently determine which timer needs to fire the soonest.
|
||||
// Then we set a single shared system timer to fire at that time.
|
||||
@@ -53,113 +55,141 @@
|
||||
return threadGlobalData().threadTimers().timerHeap();
|
||||
}
|
||||
|
||||
-// Class to represent elements in the heap when calling the standard library heap algorithms.
|
||||
-// Maintains the m_heapIndex value in the timers themselves, which allows us to do efficient
|
||||
-// modification of the heap.
|
||||
-class TimerHeapElement {
|
||||
+// ----------------
|
||||
+
|
||||
+class TimerHeapPointer {
|
||||
public:
|
||||
- explicit TimerHeapElement(int i)
|
||||
- : m_index(i)
|
||||
- , m_timer(timerHeap()[m_index])
|
||||
- {
|
||||
- checkConsistency();
|
||||
- }
|
||||
+ TimerHeapPointer(TimerBase** pointer) : m_pointer(pointer) { }
|
||||
+ TimerHeapReference operator*() const;
|
||||
+ TimerBase* operator->() const { return *m_pointer; }
|
||||
+private:
|
||||
+ TimerBase** m_pointer;
|
||||
+};
|
||||
|
||||
- TimerHeapElement(const TimerHeapElement&);
|
||||
- TimerHeapElement& operator=(const TimerHeapElement&);
|
||||
-
|
||||
- TimerBase* timer() const { return m_timer; }
|
||||
-
|
||||
- void checkConsistency() const
|
||||
- {
|
||||
- ASSERT(m_index >= 0);
|
||||
- ASSERT(m_index < static_cast<int>(timerHeap().size()));
|
||||
- }
|
||||
-
|
||||
+class TimerHeapReference {
|
||||
+public:
|
||||
+ TimerHeapReference(TimerBase*& reference) : m_reference(reference) { }
|
||||
+ operator TimerBase*() const { return m_reference; }
|
||||
+ TimerHeapPointer operator&() const { return &m_reference; }
|
||||
+ TimerHeapReference& operator=(TimerBase*);
|
||||
+ TimerHeapReference& operator=(TimerHeapReference);
|
||||
private:
|
||||
- TimerHeapElement();
|
||||
-
|
||||
- int m_index;
|
||||
- TimerBase* m_timer;
|
||||
+ TimerBase*& m_reference;
|
||||
};
|
||||
|
||||
-inline TimerHeapElement::TimerHeapElement(const TimerHeapElement& o)
|
||||
- : m_index(-1), m_timer(o.timer())
|
||||
+inline TimerHeapReference TimerHeapPointer::operator*() const
|
||||
{
|
||||
+ return *m_pointer;
|
||||
}
|
||||
|
||||
-inline TimerHeapElement& TimerHeapElement::operator=(const TimerHeapElement& o)
|
||||
+inline TimerHeapReference& TimerHeapReference::operator=(TimerBase* timer)
|
||||
{
|
||||
- TimerBase* t = o.timer();
|
||||
- m_timer = t;
|
||||
- if (m_index != -1) {
|
||||
- checkConsistency();
|
||||
- timerHeap()[m_index] = t;
|
||||
- t->m_heapIndex = m_index;
|
||||
- }
|
||||
+ m_reference = timer;
|
||||
+ Vector<TimerBase*>& heap = timerHeap();
|
||||
+ if (&m_reference >= heap.data() && &m_reference < heap.data() + heap.size())
|
||||
+ timer->m_heapIndex = &m_reference - heap.data();
|
||||
return *this;
|
||||
}
|
||||
|
||||
-inline bool operator<(const TimerHeapElement& a, const TimerHeapElement& b)
|
||||
+inline TimerHeapReference& TimerHeapReference::operator=(TimerHeapReference b)
|
||||
{
|
||||
- // The comparisons below are "backwards" because the heap puts the largest
|
||||
- // element first and we want the lowest time to be the first one in the heap.
|
||||
- double aFireTime = a.timer()->m_nextFireTime;
|
||||
- double bFireTime = b.timer()->m_nextFireTime;
|
||||
- if (bFireTime != aFireTime)
|
||||
- return bFireTime < aFireTime;
|
||||
-
|
||||
- // We need to look at the difference of the insertion orders instead of comparing the two
|
||||
- // outright in case of overflow.
|
||||
- unsigned difference = a.timer()->m_heapInsertionOrder - b.timer()->m_heapInsertionOrder;
|
||||
- return difference < UINT_MAX / 2;
|
||||
+ TimerBase* timer = b;
|
||||
+ return *this = timer;
|
||||
}
|
||||
|
||||
+inline void swap(TimerHeapReference a, TimerHeapReference b)
|
||||
+{
|
||||
+ TimerBase* timerA = a;
|
||||
+ TimerBase* timerB = b;
|
||||
+
|
||||
+ // Invoke the assignment operator, since that takes care of updating m_heapIndex.
|
||||
+ a = timerB;
|
||||
+ b = timerA;
|
||||
+}
|
||||
+
|
||||
// ----------------
|
||||
|
||||
// Class to represent iterators in the heap when calling the standard library heap algorithms.
|
||||
-// Returns TimerHeapElement for elements in the heap rather than the TimerBase pointers themselves.
|
||||
-class TimerHeapIterator : public iterator<random_access_iterator_tag, TimerHeapElement, int> {
|
||||
+// Uses a custom pointer and reference type that update indices for pointers in the heap.
|
||||
+class TimerHeapIterator : public iterator<random_access_iterator_tag, TimerBase*, ptrdiff_t, TimerHeapPointer, TimerHeapReference> {
|
||||
public:
|
||||
- TimerHeapIterator() : m_index(-1) { }
|
||||
- TimerHeapIterator(int i) : m_index(i) { checkConsistency(); }
|
||||
+ explicit TimerHeapIterator(TimerBase** pointer) : m_pointer(pointer) { checkConsistency(); }
|
||||
|
||||
- TimerHeapIterator& operator++() { checkConsistency(); ++m_index; checkConsistency(); return *this; }
|
||||
- TimerHeapIterator operator++(int) { checkConsistency(); checkConsistency(1); return m_index++; }
|
||||
+ TimerHeapIterator& operator++() { checkConsistency(); ++m_pointer; checkConsistency(); return *this; }
|
||||
+ TimerHeapIterator operator++(int) { checkConsistency(1); return TimerHeapIterator(m_pointer++); }
|
||||
|
||||
- TimerHeapIterator& operator--() { checkConsistency(); --m_index; checkConsistency(); return *this; }
|
||||
- TimerHeapIterator operator--(int) { checkConsistency(); checkConsistency(-1); return m_index--; }
|
||||
+ TimerHeapIterator& operator--() { checkConsistency(); --m_pointer; checkConsistency(); return *this; }
|
||||
+ TimerHeapIterator operator--(int) { checkConsistency(-1); return TimerHeapIterator(m_pointer--); }
|
||||
|
||||
- TimerHeapIterator& operator+=(int i) { checkConsistency(); m_index += i; checkConsistency(); return *this; }
|
||||
- TimerHeapIterator& operator-=(int i) { checkConsistency(); m_index -= i; checkConsistency(); return *this; }
|
||||
+ TimerHeapIterator& operator+=(ptrdiff_t i) { checkConsistency(); m_pointer += i; checkConsistency(); return *this; }
|
||||
+ TimerHeapIterator& operator-=(ptrdiff_t i) { checkConsistency(); m_pointer -= i; checkConsistency(); return *this; }
|
||||
|
||||
- TimerHeapElement operator*() const { return TimerHeapElement(m_index); }
|
||||
- TimerHeapElement operator[](int i) const { return TimerHeapElement(m_index + i); }
|
||||
+ TimerHeapReference operator*() const { return TimerHeapReference(*m_pointer); }
|
||||
+ TimerHeapReference operator[](ptrdiff_t i) const { return TimerHeapReference(m_pointer[i]); }
|
||||
+ TimerBase* operator->() const { return *m_pointer; }
|
||||
|
||||
- int index() const { return m_index; }
|
||||
-
|
||||
- void checkConsistency(int offset = 0) const
|
||||
+private:
|
||||
+ void checkConsistency(ptrdiff_t offset = 0) const
|
||||
{
|
||||
- ASSERT_UNUSED(offset, m_index + offset >= 0);
|
||||
- ASSERT_UNUSED(offset, m_index + offset <= static_cast<int>(timerHeap().size()));
|
||||
+ ASSERT(m_pointer >= timerHeap().data());
|
||||
+ ASSERT(m_pointer <= timerHeap().data() + timerHeap().size());
|
||||
+ ASSERT_UNUSED(offset, m_pointer + offset >= timerHeap().data());
|
||||
+ ASSERT_UNUSED(offset, m_pointer + offset <= timerHeap().data() + timerHeap().size());
|
||||
}
|
||||
|
||||
-private:
|
||||
- int m_index;
|
||||
+ friend bool operator==(TimerHeapIterator, TimerHeapIterator);
|
||||
+ friend bool operator!=(TimerHeapIterator, TimerHeapIterator);
|
||||
+ friend bool operator<(TimerHeapIterator, TimerHeapIterator);
|
||||
+ friend bool operator>(TimerHeapIterator, TimerHeapIterator);
|
||||
+ friend bool operator<=(TimerHeapIterator, TimerHeapIterator);
|
||||
+ friend bool operator>=(TimerHeapIterator, TimerHeapIterator);
|
||||
+
|
||||
+ friend TimerHeapIterator operator+(TimerHeapIterator, size_t);
|
||||
+ friend TimerHeapIterator operator+(size_t, TimerHeapIterator);
|
||||
+
|
||||
+ friend TimerHeapIterator operator-(TimerHeapIterator, size_t);
|
||||
+ friend ptrdiff_t operator-(TimerHeapIterator, TimerHeapIterator);
|
||||
+
|
||||
+ TimerBase** m_pointer;
|
||||
};
|
||||
|
||||
-inline bool operator==(TimerHeapIterator a, TimerHeapIterator b) { return a.index() == b.index(); }
|
||||
-inline bool operator!=(TimerHeapIterator a, TimerHeapIterator b) { return a.index() != b.index(); }
|
||||
-inline bool operator<(TimerHeapIterator a, TimerHeapIterator b) { return a.index() < b.index(); }
|
||||
+inline bool operator==(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer == b.m_pointer; }
|
||||
+inline bool operator!=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer != b.m_pointer; }
|
||||
+inline bool operator<(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer < b.m_pointer; }
|
||||
+inline bool operator>(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer > b.m_pointer; }
|
||||
+inline bool operator<=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer <= b.m_pointer; }
|
||||
+inline bool operator>=(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer >= b.m_pointer; }
|
||||
|
||||
-inline TimerHeapIterator operator+(TimerHeapIterator a, int b) { return a.index() + b; }
|
||||
-inline TimerHeapIterator operator+(int a, TimerHeapIterator b) { return a + b.index(); }
|
||||
+inline TimerHeapIterator operator+(TimerHeapIterator a, size_t b) { return TimerHeapIterator(a.m_pointer + b); }
|
||||
+inline TimerHeapIterator operator+(size_t a, TimerHeapIterator b) { return TimerHeapIterator(a + b.m_pointer); }
|
||||
|
||||
-inline TimerHeapIterator operator-(TimerHeapIterator a, int b) { return a.index() - b; }
|
||||
-inline int operator-(TimerHeapIterator a, TimerHeapIterator b) { return a.index() - b.index(); }
|
||||
+inline TimerHeapIterator operator-(TimerHeapIterator a, size_t b) { return TimerHeapIterator(a.m_pointer - b); }
|
||||
+inline ptrdiff_t operator-(TimerHeapIterator a, TimerHeapIterator b) { return a.m_pointer - b.m_pointer; }
|
||||
|
||||
// ----------------
|
||||
|
||||
+class TimerHeapLessThanFunction {
|
||||
+public:
|
||||
+ bool operator()(TimerBase*, TimerBase*) const;
|
||||
+};
|
||||
+
|
||||
+inline bool TimerHeapLessThanFunction::operator()(TimerBase* a, TimerBase* b) const
|
||||
+{
|
||||
+ // The comparisons below are "backwards" because the heap puts the largest
|
||||
+ // element first and we want the lowest time to be the first one in the heap.
|
||||
+ double aFireTime = a->m_nextFireTime;
|
||||
+ double bFireTime = b->m_nextFireTime;
|
||||
+ if (bFireTime != aFireTime)
|
||||
+ return bFireTime < aFireTime;
|
||||
+
|
||||
+ // We need to look at the difference of the insertion orders instead of comparing the two
|
||||
+ // outright in case of overflow.
|
||||
+ unsigned difference = a->m_heapInsertionOrder - b->m_heapInsertionOrder;
|
||||
+ return difference < numeric_limits<unsigned>::max() / 2;
|
||||
+}
|
||||
+
|
||||
+// ----------------
|
||||
+
|
||||
TimerBase::TimerBase()
|
||||
: m_nextFireTime(0)
|
||||
, m_repeatInterval(0)
|
||||
@@ -225,7 +255,8 @@
|
||||
{
|
||||
ASSERT(m_nextFireTime != 0);
|
||||
checkHeapIndex();
|
||||
- push_heap(TimerHeapIterator(0), TimerHeapIterator(m_heapIndex + 1));
|
||||
+ TimerBase** heapData = timerHeap().data();
|
||||
+ push_heap(TimerHeapIterator(heapData), TimerHeapIterator(heapData + m_heapIndex + 1), TimerHeapLessThanFunction());
|
||||
checkHeapIndex();
|
||||
}
|
||||
|
||||
@@ -274,7 +305,9 @@
|
||||
{
|
||||
ASSERT(this == timerHeap().first());
|
||||
checkHeapIndex();
|
||||
- pop_heap(TimerHeapIterator(0), TimerHeapIterator(timerHeap().size()));
|
||||
+ Vector<TimerBase*>& heap = timerHeap();
|
||||
+ TimerBase** heapData = heap.data();
|
||||
+ pop_heap(TimerHeapIterator(heapData), TimerHeapIterator(heapData + heap.size()), TimerHeapLessThanFunction());
|
||||
checkHeapIndex();
|
||||
ASSERT(this == timerHeap().last());
|
||||
}
|
||||
--- src/3rdparty/webkit/Source/WebCore/platform/Timer.h (revision 92555)
|
||||
+++ src/3rdparty/webkit/Source/WebCore/platform/Timer.h (revision 92556)
|
||||
@@ -84,9 +84,9 @@
|
||||
ThreadIdentifier m_thread;
|
||||
#endif
|
||||
|
||||
- friend class TimerHeapElement;
|
||||
friend class ThreadTimers;
|
||||
- friend bool operator<(const TimerHeapElement&, const TimerHeapElement&);
|
||||
+ friend class TimerHeapLessThanFunction;
|
||||
+ friend class TimerHeapReference;
|
||||
};
|
||||
|
||||
template <typename TimerFiredClass> class Timer : public TimerBase {
|
||||
--- src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp (revision 86531)
|
||||
+++ src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp (revision 86532)
|
||||
@@ -944,7 +944,7 @@
|
||||
|
||||
GraphicsLayerQt::GraphicsLayerQt(GraphicsLayerClient* client)
|
||||
: GraphicsLayer(client)
|
||||
- , m_impl(PassOwnPtr<GraphicsLayerQtImpl>(new GraphicsLayerQtImpl(this)))
|
||||
+ , m_impl(adoptPtr(new GraphicsLayerQtImpl(this)))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -955,7 +955,7 @@
|
||||
// This is the hook for WebCore compositor to know that Qt implements compositing with GraphicsLayerQt.
|
||||
PassOwnPtr<GraphicsLayer> GraphicsLayer::create(GraphicsLayerClient* client)
|
||||
{
|
||||
- return new GraphicsLayerQt(client);
|
||||
+ return adoptPtr(new GraphicsLayerQt(client));
|
||||
}
|
||||
|
||||
/* \reimp (GraphicsLayer.h): The current size might change, thus we need to update the whole display.
|
||||
|
||||
--- src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h
|
||||
+++ src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h
|
||||
@@ -38,7 +38,7 @@
|
||||
@ -548,15 +266,6 @@ libc++ provides std::nullptr emulation, so we don't have to.
|
||||
|
||||
--- src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86529)
|
||||
+++ src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86530)
|
||||
@@ -235,7 +235,7 @@
|
||||
resetConnections();
|
||||
QNetworkReply* reply = m_reply;
|
||||
m_reply = 0;
|
||||
- m_sniffer = 0;
|
||||
+ m_sniffer = nullptr;
|
||||
|
||||
reply->setParent(0);
|
||||
return reply;
|
||||
@@ -285,7 +285,7 @@
|
||||
|
||||
Q_ASSERT(!m_sniffer);
|
||||
@ -566,58 +275,7 @@ libc++ provides std::nullptr emulation, so we don't have to.
|
||||
|
||||
if (m_sniffer->isFinished()) {
|
||||
receiveSniffedMIMEType();
|
||||
@@ -300,7 +300,7 @@
|
||||
Q_ASSERT(m_sniffer);
|
||||
|
||||
m_sniffedMIMEType = m_sniffer->mimeType();
|
||||
- m_sniffer = 0;
|
||||
+ m_sniffer = nullptr;
|
||||
|
||||
emitMetaDataChanged();
|
||||
}
|
||||
@@ -417,7 +417,7 @@
|
||||
return 0;
|
||||
|
||||
QNetworkReply* reply = m_replyWrapper->release();
|
||||
- m_replyWrapper = 0;
|
||||
+ m_replyWrapper = nullptr;
|
||||
return reply;
|
||||
}
|
||||
|
||||
@@ -440,12 +440,12 @@
|
||||
|
||||
ResourceHandleClient* client = m_resourceHandle->client();
|
||||
if (!client) {
|
||||
- m_replyWrapper = 0;
|
||||
+ m_replyWrapper = nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_replyWrapper->wasRedirected()) {
|
||||
- m_replyWrapper = 0;
|
||||
+ m_replyWrapper = nullptr;
|
||||
m_queue.push(&QNetworkReplyHandler::start);
|
||||
return;
|
||||
}
|
||||
@@ -465,7 +465,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- m_replyWrapper = 0;
|
||||
+ m_replyWrapper = nullptr;
|
||||
}
|
||||
|
||||
void QNetworkReplyHandler::sendResponseIfNeeded()
|
||||
@@ -539,7 +539,7 @@
|
||||
newUrl.toString(),
|
||||
QCoreApplication::translate("QWebPage", "Redirection limit reached"));
|
||||
client->didFail(m_resourceHandle, error);
|
||||
- m_replyWrapper = 0;
|
||||
+ m_replyWrapper = nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -660,7 +660,7 @@
|
||||
@@ -666,7 +666,7 @@
|
||||
if (!reply)
|
||||
return;
|
||||
|
||||
@ -641,16 +299,7 @@ libc++ provides std::nullptr emulation, so we don't have to.
|
||||
|
||||
--- src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86532)
|
||||
+++ src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86533)
|
||||
@@ -473,7 +473,7 @@
|
||||
return;
|
||||
|
||||
page->d->view.clear();
|
||||
- page->d->client = 0;
|
||||
+ page->d->client = nullptr;
|
||||
|
||||
// if the page was created by us, we own it and need to
|
||||
// destroy it as well.
|
||||
@@ -506,7 +506,7 @@
|
||||
@@ -504,7 +504,7 @@
|
||||
if (!d->page)
|
||||
return;
|
||||
|
||||
@ -927,18 +576,6 @@ libc++ provides std::nullptr emulation, so we don't have to.
|
||||
, m_destroyingInspectorView(false)
|
||||
--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86536)
|
||||
+++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86550)
|
||||
@@ -73,9 +73,9 @@
|
||||
#if ENABLE(NOTIFICATIONS)
|
||||
|
||||
#ifndef QT_NO_SYSTEMTRAYICON
|
||||
- m_notificationIcon = 0;
|
||||
+ m_notificationIcon = nullptr;
|
||||
#endif
|
||||
- m_presenter = 0;
|
||||
+ m_presenter = nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -211,9 +211,9 @@
|
||||
QPixmap pixmap;
|
||||
if (bytes.length() && pixmap.loadFromData(bytes)) {
|
||||
|
@ -1,49 +1,5 @@
|
||||
From e3c44790065894f4e7f98ab097fce22c5bcbbd0a Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
||||
Date: Tue, 2 Jul 2013 13:48:28 +0300
|
||||
Subject: [PATCH] Bring in WebKit revisions 139553 and 139921.
|
||||
|
||||
They are primarily useful for getting rid of some libstdc++-specific
|
||||
includes which break the build with libc++, and also for simplifying the
|
||||
code and removing a Darwin-specific code path.
|
||||
|
||||
r139553 by ossy@webkit.org:
|
||||
Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add
|
||||
https://bugs.webkit.org/show_bug.cgi?id=106729
|
||||
|
||||
After r139514 we need atomicIncrement(int64_t volatile*) for all
|
||||
platform. Now the GCC implementation of atomicIncrement() is based on
|
||||
gnu_cxx::exchange_and_add, which doesn't support int64_t type, but
|
||||
sync_add_and_fetch does.
|
||||
|
||||
Reviewed by Benjamin Poulain.
|
||||
|
||||
r139921 by benjamin@webkit.org:
|
||||
Use GCC's implementation of atomicIncrement/Decrement on Mac
|
||||
https://bugs.webkit.org/show_bug.cgi?id=106976
|
||||
|
||||
Reviewed by Filip Pizlo.
|
||||
|
||||
wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB:
|
||||
sync_add_and_fetch, sync_sub_and_fetch.
|
||||
|
||||
Using them let the compiler just generate the atomic operations inline
|
||||
instead of generating a function call to LibC. It also simplify the
|
||||
code a bit.
|
||||
|
||||
Cherry-picked from qtwebkit/0baf197 and qtwebkit/801fc96. I'm cherry-picking
|
||||
both revisions together to match what was done in 0de22e80.
|
||||
|
||||
Change-Id: Ie5c1067980662ff04e8e36d8cf6e9459b7c46aab
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
||||
---
|
||||
.../webkit/Source/JavaScriptCore/wtf/Atomics.h | 18 ++----------------
|
||||
1 file changed, 2 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h
|
||||
index bce5fba..acf0e5a 100644
|
||||
--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h
|
||||
+++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h
|
||||
--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h.orig 2014-04-10 20:37:11.000000000 +0200
|
||||
+++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/Atomics.h 2014-04-24 16:11:40.000000000 +0200
|
||||
@@ -63,18 +63,10 @@
|
||||
|
||||
#if OS(WINDOWS)
|
||||
@ -63,12 +19,12 @@ index bce5fba..acf0e5a 100644
|
||||
#endif
|
||||
|
||||
namespace WTF {
|
||||
@@ -90,12 +82,6 @@ inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(r
|
||||
@@ -90,12 +82,6 @@
|
||||
inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast<long volatile*>(addend)); }
|
||||
#endif
|
||||
|
||||
-#elif OS(DARWIN)
|
||||
-#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
|
||||
-#define WTF_USE_LOCKFREE_THREADSAFESHARED 1
|
||||
-
|
||||
-inline int atomicIncrement(int volatile* addend) { return OSAtomicIncrement32Barrier(const_cast<int*>(addend)); }
|
||||
-inline int atomicDecrement(int volatile* addend) { return OSAtomicDecrement32Barrier(const_cast<int*>(addend)); }
|
||||
@ -76,17 +32,3 @@ index bce5fba..acf0e5a 100644
|
||||
#elif OS(ANDROID)
|
||||
|
||||
inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); }
|
||||
@@ -109,8 +95,8 @@ inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value
|
||||
#elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
|
||||
#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
|
||||
|
||||
-inline int atomicIncrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, 1) + 1; }
|
||||
-inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; }
|
||||
+inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); }
|
||||
+inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
|
||||
|
||||
#endif
|
||||
|
||||
--
|
||||
1.8.4
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user