This commit is contained in:
Jaroslav Reznik 2011-06-01 15:40:35 +02:00
parent 4c18c4470c
commit 34e2c25f86
12 changed files with 59 additions and 205 deletions

2
.gitignore vendored
View File

@ -7,4 +7,4 @@ hi22-phonon-gstreamer.png
hi32-phonon-gstreamer.png
hi48-phonon-gstreamer.png
hi64-phonon-gstreamer.png
/qt-everywhere-opensource-src-4.7.3.tar.gz
/qt-everywhere-opensource-src-4.8.0-tp.tar.gz

View File

@ -1,57 +0,0 @@
From 4d3b9aa83cf7f6d9f9b88d9936e5980629daac2a Mon Sep 17 00:00:00 2001
From: Cristiano di Flora <cristiano.di-flora@nokia.com>
Date: Tue, 22 Feb 2011 05:27:51 +0200
Subject: [PATCH] Fix QNetworkConfigurationManager crash due to null private pointer.
Reviewed-by: Aaron McCarthy
Task-Number: QTBUG-17305
(cherry picked from commit 7388fcb83592a90aace054314e0c3e7e7a94fdae)
---
src/network/bearer/qnetworkconfigmanager.cpp | 17 +++++------------
1 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp
index 0e3c519..7eadb82 100644
--- a/src/network/bearer/qnetworkconfigmanager.cpp
+++ b/src/network/bearer/qnetworkconfigmanager.cpp
@@ -57,16 +57,17 @@ QT_BEGIN_NAMESPACE
{ \
delete this_##NAME.pointer; \
this_##NAME.pointer = 0; \
- this_##NAME.destroyed = true; \
} \
static TYPE *NAME() \
{ \
- if (!this_##NAME.pointer && !this_##NAME.destroyed) { \
+ if (!this_##NAME.pointer) { \
TYPE *x = new TYPE; \
if (!this_##NAME.pointer.testAndSetOrdered(0, x)) \
delete x; \
- else \
+ else { \
qAddPostRoutine(NAME##_cleanup); \
+ this_##NAME.pointer->updateConfigurations(); \
+ } \
} \
return this_##NAME.pointer; \
}
@@ -75,15 +76,7 @@ Q_GLOBAL_STATIC_QAPP_DESTRUCTION(QNetworkConfigurationManagerPrivate, connManage
QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate()
{
- static bool initialized = false;
-
- QNetworkConfigurationManagerPrivate *m = connManager();
- if (!initialized) {
- initialized = true;
- m->updateConfigurations();
- }
-
- return m;
+ return connManager();
}
/*!
--
1.6.1

View File

@ -1,15 +0,0 @@
diff -rup qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
--- qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-06-02 07:33:13.000000000 +0530
+++ qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-09-04 13:27:33.000000000 +0530
@@ -1741,6 +1741,11 @@ static int indic_nextSyllableBoundary(HB
if (state == Halant && uc[pos] == 0x200d /* ZWJ */)
break;
// the control character should be the last char in the item
+ if (state == Consonant && script == HB_Script_Bengali && uc[pos-1] == 0x09B0 && uc[pos] == 0x200d /* ZWJ */)
+ break;
+ if (state == Consonant && script == HB_Script_Kannada && uc[pos-1] == 0x0CB0 && uc[pos] == 0x200d /* ZWJ */)
+ break;
+ // Bengali and Kannada has a special exception for rendering yaphala with ra (to avoid reph) see http://www.unicode.org/faq/indic.html#15
++pos;
goto finish;
case Consonant:

View File

@ -1,12 +0,0 @@
diff -rup qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
--- qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-06-30 07:23:12.000000000 +0530
+++ qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-09-22 14:33:33.000000000 +0530
@@ -37,7 +37,7 @@ static HB_Bool isLetter(HB_UChar16 ucs)
FLAG(HB_Letter_Titlecase) |
FLAG(HB_Letter_Modifier) |
FLAG(HB_Letter_Other);
- return FLAG(HB_GetUnicodeCharCategory(ucs)) & test;
+ return (FLAG(HB_GetUnicodeCharCategory(ucs)) & test) != 0;
}
static HB_Bool isMark(HB_UChar16 ucs)

View File

@ -1,14 +0,0 @@
diff -rup qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
--- qt-everywhere-opensource-src-4.6.3/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-06-02 07:33:13.000000000 +0530
+++ qt-everywhere-opensource-src-4.6.3_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-09-10 18:37:23.000000000 +0530
@@ -1779,10 +1779,6 @@ static int indic_nextSyllableBoundary(HB
case Matra:
if (state == Consonant || state == Nukta)
break;
- if (state == Matra) {
- // ### needs proper testing for correct two/three part matras
- break;
- }
// ### not sure if this is correct. If it is, does it apply only to Bengali or should
// it work for all Indic languages?
// the combination Independent_A + Vowel Sign AA is allowed.

View File

@ -1,30 +0,0 @@
diff -rup qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
--- qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-06-30 07:23:12.000000000 +0530
+++ qt-everywhere-opensource-src-4.7.0-beta2_mod/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp 2010-09-20 11:40:58.000000000 +0530
@@ -660,18 +660,18 @@ static const unsigned char indicPosition
None, None, None, None,
None, None, None, None,
- None, None, None, None,
- None, None, None, None,
- None, None, None, None,
+ None, Below, Below, Below,
+ Below, Below, Below, Below,
+ Below, Below, None, Below,
- None, None, None, None,
- Below, None, None, None,
- Below, None, None, None,
+ Below, Below, Below, Below,
+ Below, Below, Below, Below,
+ Below, None, Below, Below,
Below, Below, Below, Post,
Below, None, Below, Below,
- None, None, None, None,
- None, None, None, None,
+ None, Below, Below, Below,
+ Below, Below, None, None,
None, None, Post, Above,
Post, Below, Below, Below,

View File

@ -1,13 +0,0 @@
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index 406e1f6..4691b17 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -3223,7 +3223,7 @@ int QTreeViewPrivate::itemHeight(int item) const
return defaultItemHeight;
if (viewItems.isEmpty())
return 0;
- const QModelIndex &index = viewItems.at(item).index;
+ QModelIndex index = viewItems.at(item).index;
int height = viewItems.at(item).height;
if (height <= 0 && index.isValid()) {
height = q_func()->indexRowSizeHint(index);

View File

@ -0,0 +1,36 @@
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200
@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
QMAKE_CFLAGS = -m32
QMAKE_LFLAGS = -m32
+QMAKE_CFLAGS_RELEASE += -O2
+
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200
@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
QMAKE_CFLAGS = -m64
QMAKE_LFLAGS = -m64
+QMAKE_CFLAGS_RELEASE += -O2
+
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf
--- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200
@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
+QMAKE_CFLAGS_RELEASE += -O2
+
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

View File

@ -0,0 +1,12 @@
diff -up qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp
--- qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash 2011-05-23 12:26:21.000000000 +0200
+++ qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp 2011-05-25 13:24:33.137315194 +0200
@@ -3215,7 +3215,7 @@ int QTreeViewPrivate::itemHeight(int ite
return defaultItemHeight;
if (viewItems.isEmpty())
return 0;
- const QModelIndex &index = viewItems.at(item).index;
+ QModelIndex index = viewItems.at(item).index;
if (!index.isValid())
return 0;
int height = viewItems.at(item).height;

View File

@ -1,33 +0,0 @@
--- qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-64/qmake.conf.multilib 2006-11-27 11:26:42.000000000 -0600
+++ qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-64/qmake.conf 2007-02-26 15:01:02.000000000 -0600
@@ -14,6 +14,8 @@
QMAKE_CFLAGS = -m64
QMAKE_LFLAGS = -m64
+QMAKE_CFLAGS_RELEASE += -O2
+
include(../common/g++.conf)
include(../common/linux.conf)
--- qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-32/qmake.conf.multilib 2006-11-27 11:26:42.000000000 -0600
+++ qt-x11-opensource-src-4.2.2/mkspecs/linux-g++-32/qmake.conf 2007-02-26 15:01:34.000000000 -0600
@@ -11,6 +11,8 @@
QMAKE_CFLAGS = -m32
QMAKE_LFLAGS = -m32
+QMAKE_CFLAGS_RELEASE += -O2
+
include(../common/g++.conf)
include(../common/linux.conf)
load(qt_config)
--- qt-x11-opensource-src-4.2.2/mkspecs/linux-g++/qmake.conf.multilib 2006-11-27 11:26:42.000000000 -0600
+++ qt-x11-opensource-src-4.2.2/mkspecs/linux-g++/qmake.conf 2007-02-26 15:01:26.000000000 -0600
@@ -8,6 +8,8 @@
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
+QMAKE_CFLAGS_RELEASE += -O2
+
include(../common/g++.conf)
include(../common/linux.conf)
load(qt_config)

29
qt.spec
View File

@ -17,14 +17,14 @@
Summary: Qt toolkit
Name: qt
Epoch: 1
Version: 4.7.3
Release: 3%{?dist}
Version: 4.8.0
Release: 0.1.tp%{?dist}
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
Group: System Environment/Libraries
Url: http://www.qtsoftware.com/
Source0: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-%{version}.tar.gz
Source0: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-%{version}-tp.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Obsoletes: qt4 < %{version}-%{release}
Provides: qt4 = %{version}-%{release}
@ -37,7 +37,7 @@ Source4: Trolltech.conf
Source5: qconfig-multilib.h
# set default QMAKE_CFLAGS_RELEASE
Patch2: qt-x11-opensource-src-4.2.2-multilib-optflags.patch
Patch2: qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch
# get rid of timestamp which causes multilib problem
Patch4: qt-everywhere-opensource-src-4.7.0-beta1-uic_multilib.patch
@ -76,12 +76,6 @@ Patch56: qt-everywhere-opensource-src-4.7.0-beta1-s390x.patch
# qtwebkit to search nspluginwrapper paths too
Patch58: qt-everywhere-opensource-src-4.7.0-beta1-qtwebkit_pluginpath.patch
# indic incorrect rendering
Patch59: qt-4.6.3-bn-rendering-bz562049.patch
Patch60: qt-4.6.3-bn-rendering-bz562058.patch
Patch61: qt-4.6.3-indic-rendering-bz631732.patch
Patch62: qt-4.6.3-indic-rendering-bz636399.patch
# fix 24bit color issue
Patch63: qt-everywhere-opensource-src-4.7.0-bpp24.patch
@ -89,14 +83,12 @@ Patch63: qt-everywhere-opensource-src-4.7.0-bpp24.patch
Patch64: qt-everywhere-opensource-src-4.7.1-QTBUG-14467.patch
# fix QTreeView crash triggered by KPackageKit (patch by David Faure)
Patch65: qt-everywhere-opensource-src-4.7.1-qtreeview-kpackagekit-crash.patch
Patch65: qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
# upstream patches
# adds debug support to webkit/JavaScriptCore
# UPSTREAM ME
Patch105: qt-everywhere-opensource-src-4.7.1-webkit_debug_javascriptcore.patch
# Fix QNetworkConfigurationManager crash due to null private pointer. (QTBUG-17305, rhbz#682656)
Patch106: http://qt.gitorious.org/qt/qt/commit/4d3b9aa83cf7f6d9f9b88d9936e5980629daac2a.patch
# kde-qt git patches
Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch
@ -488,7 +480,7 @@ Qt libraries used for drawing widgets and OpenGL items.
%prep
%setup -q -n qt-everywhere-opensource-src-%{version}
%setup -q -n qt-everywhere-opensource-src-%{version}-tp
%patch15 -p1 -b .enable_ft_lcdfilter
#patch16 -p1 -b .kde4_plugins
@ -503,17 +495,12 @@ Qt libraries used for drawing widgets and OpenGL items.
%patch55 -p1 -b .cups-1
%patch56 -p1 -b .s390x
%patch58 -p1 -b .qtwebkit_pluginpath
%patch59 -p1 -b .bn-rendering-bz562049
%patch60 -p1 -b .bn-rendering-bz562058
%patch61 -p1 -b .indic-rendering-bz631732
%patch62 -p1 -b .indic-rendering-bz636399
%patch63 -p1 -b .bpp24
%patch64 -p1 -b .QTBUG-14467
%patch65 -p1 -b .qtreeview-kpackagekit-crash
# upstream patches
%patch105 -p1 -b .webkit_debug_javascriptcore
%patch106 -p1 -b .QNetworkConfigurationManager-null-pointer
# kde-qt branch
%if 0%{?kde_qt}
@ -601,7 +588,6 @@ done
-fontconfig \
-largefile \
-gtkstyle \
-qt-gif \
-no-rpath \
-reduce-relocations \
-no-separate-debug-info \
@ -1242,6 +1228,9 @@ fi
%changelog
* Wed May 25 2011 Jaroslav Reznik <jreznik@redhat.com> 1:4.8.0-0.1.tp
- 4.8.0-tp
* Thu May 19 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.7.3-3
- omit %%{_qt4_plugindir}/designer/libqwebview.so too

11
sources
View File

@ -1,10 +1 @@
d9f511e4b51983b4e10eb58b320416d5 hi128-app-qt4-logo.png
6dcc0672ff9e60a6b83f95c5f42bec5b hi48-app-qt4-logo.png
8e3924f417fea67f72b2105faed2119c gstreamer-logo.svg
60de9d7e1cddd019f09fd036f0e5413a hi128-phonon-gstreamer.png
7ca265e0cf75b3b4c81e1490d3dba3be hi16-phonon-gstreamer.png
0a9f69d901aded140d4fed969c22e14f hi22-phonon-gstreamer.png
12db12c009b722a6dc141f78feb7e330 hi32-phonon-gstreamer.png
86c34a1b81d44980b1381f94ed6b7a23 hi48-phonon-gstreamer.png
153505c71ec021b0a3bd4b74f2492e93 hi64-phonon-gstreamer.png
49b96eefb1224cc529af6fe5608654fe qt-everywhere-opensource-src-4.7.3.tar.gz
3f5d0553c9b741eecd5116e1ac7384ff qt-everywhere-opensource-src-4.8.0-tp.tar.gz