extra/qt to 4.7.3-2

This commit is contained in:
Kevin Mihelich 2011-06-09 17:31:49 -04:00
parent a73cfa2cad
commit 4f616ef02a
2 changed files with 75 additions and 6 deletions

View file

@ -1,4 +1,4 @@
# $Id: PKGBUILD 122539 2011-05-04 13:21:18Z andrea $
# $Id: PKGBUILD 125344 2011-05-26 00:12:04Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@ -6,14 +6,14 @@
# - Just say NO to x86 optimizations ;)
# - disabled distcc, ccache - bad things happen
# - don't use -no-neon on armv7
# - make -j1
# - make -j1 for v5, -j2 for v7 (pandaboard builder)
plugrel=1
pkgbase=qt
pkgname=('qt' 'qt-private-headers')
pkgver=4.7.3
pkgrel=1
pkgrel=2
arch=('i686' 'x86_64')
url='http://qt.nokia.com/'
license=('GPL3' 'LGPL')
@ -25,12 +25,14 @@ options=('!libtool' '!distcc' '!ccache')
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop'
'qtconfig.desktop')
'qtconfig.desktop'
'qtbug-16292.patch')
md5sums=('49b96eefb1224cc529af6fe5608654fe'
'fc211414130ab2764132e7370f8e5caa'
'85179f5e0437514f8639957e1d8baf62'
'f11852b97583610f3dbb669ebc3e21bc'
'6b771c8a81dd90b45e8a79afa0e5bbfd')
'6b771c8a81dd90b45e8a79afa0e5bbfd'
'dc7ed8c2e8c68a175f7f05a34dccc937')
build() {
unset QMAKESPEC
@ -39,6 +41,9 @@ build() {
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
cd $srcdir/$_pkgfqn
# Already fixed upstream
patch -p1 -i "${srcdir}"/qtbug-16292.patch
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
@ -46,8 +51,10 @@ build() {
if [ "${CARCH}" = "armv7" ]; then
useneon=""
mymakeflags="-j2"
else
useneon="-no-neon"
mymakeflags="-j1"
fi
./configure -confirm-license -opensource \
@ -98,7 +105,7 @@ build() {
-no-sse4.1 \
-no-sse4.2 \
-no-avx ${useneon}
make -j1
make ${mymakeflags}
}
package_qt() {

View file

@ -0,0 +1,62 @@
From e340844bd614add505a39a3a6b915632476f6305 Mon Sep 17 00:00:00 2001
From: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Date: Tue, 15 Feb 2011 11:19:26 +0100
Subject: [PATCH] Fix crash in KPackageKit
QTreeViewPrivate::itemHeight() may refer to an invalid QModelIndex
after calling QTreeView::indexRowSizeHint().
Same thing inside QTreeView::indexRowSizeHint(), since
QHeaderView::count() will call
QAbstractItemViewPrivate::executePostedLayout() which may invalidate
all the QModelIndex.
Reviewed-by: Olivier
Task-number: QTBUG-16292
---
src/gui/itemviews/qtreeview.cpp | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index f1f3236..c0573bb 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -2753,6 +2753,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const
int start = -1;
int end = -1;
+ int indexRow = index.row();
int count = d->header->count();
bool emptyHeader = (count == 0);
QModelIndex parent = index.parent();
@@ -2789,7 +2790,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const
int logicalColumn = emptyHeader ? column : d->header->logicalIndex(column);
if (d->header->isSectionHidden(logicalColumn))
continue;
- QModelIndex idx = d->model->index(index.row(), logicalColumn, parent);
+ QModelIndex idx = d->model->index(indexRow, logicalColumn, parent);
if (idx.isValid()) {
QWidget *editor = d->editorForIndex(idx).editor;
if (editor && d->persistent.contains(editor)) {
@@ -3224,14 +3225,14 @@ int QTreeViewPrivate::itemHeight(int item) const
if (viewItems.isEmpty())
return 0;
const QModelIndex &index = viewItems.at(item).index;
+ if (!index.isValid())
+ return 0;
int height = viewItems.at(item).height;
- if (height <= 0 && index.isValid()) {
+ if (height <= 0) {
height = q_func()->indexRowSizeHint(index);
viewItems[item].height = height;
}
- if (!index.isValid() || height < 0)
- return 0;
- return height;
+ return qMax(height, 0);
}
--
1.6.1