summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-12-10 18:30:22 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-12-10 18:30:22 +0100
commit422ddbe135468a35d04170922ea3d25d18246aca (patch)
tree39b4d1c3999a4d3a24331974af195f58ede88e29 /libre
parent9c9dcb7ee95f321e5a4243792500f059231722cb (diff)
parent4aef0a374e20e36cf2bf6e779d93789d9a5791ae (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/chicken/PKGBUILD community/sqliteman/PKGBUILD extra/exo/PKGBUILD extra/pyqt/PKGBUILD extra/sip/PKGBUILD extra/tumbler/PKGBUILD extra/xorg-server/PKGBUILD
Diffstat (limited to 'libre')
-rw-r--r--libre/chroottools/PKGBUILD4
-rw-r--r--libre/kdebase-konqueror-libre/PKGBUILD12
-rw-r--r--libre/kdebase-konqueror-libre/kde-baseapps-4.9.4-fix-bugs-311206-311246.diff232
-rw-r--r--libre/libretools/PKGBUILD16
4 files changed, 246 insertions, 18 deletions
diff --git a/libre/chroottools/PKGBUILD b/libre/chroottools/PKGBUILD
index 049f33286..90e0e4fd0 100644
--- a/libre/chroottools/PKGBUILD
+++ b/libre/chroottools/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
pkgname=chroottools
-pkgver=20121128.6
+pkgver=20121202
pkgdesc='Chroot tools for Arch and Parabola package maintainers'
url='http://projects.parabolagnulinux.org/packages/chroottools.git/'
license=('GPL')
@@ -25,4 +25,4 @@ package() {
make PREFIX=/usr DESTDIR=${pkgdir} install
}
-md5sums=('32f0cc7fe772a946d8184125011154e1')
+md5sums=('68bb7fb792c55031ad68a970b65ab793')
diff --git a/libre/kdebase-konqueror-libre/PKGBUILD b/libre/kdebase-konqueror-libre/PKGBUILD
index f47b71243..26b14ff86 100644
--- a/libre/kdebase-konqueror-libre/PKGBUILD
+++ b/libre/kdebase-konqueror-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 172214 2012-12-02 07:43:07Z andrea $
+# $Id: PKGBUILD 172988 2012-12-08 05:56:10Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
@@ -7,15 +7,17 @@
_pkgname='kdebase-konqueror'
pkgname='kdebase-konqueror-libre'
pkgver=4.9.4
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url="http://kde.org/applications/internet/konqueror/"
license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdebase')
makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml')
source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz"
+ 'kde-baseapps-4.9.4-fix-bugs-311206-311246.diff'
"konq-about-fsdg.diff")
sha1sums=('b68e76766331272a45b1d897adf4c1928a11e747'
+ '998f1db2309744dd2c054aec3462a717bc107c2e'
'd6cbb53c04179b8180f9439eca156b7ff2e76b3a')
pkgdesc='KDE File Manager & Web Browser (without Google and nonfree software recommendation)'
depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
@@ -26,12 +28,14 @@ replaces=('kdebase-nsplugins' 'kdebase-konqueror')
provides=("kdebase-konqueror=$pkgver")
build() {
- cd "${srcdir}"/kde-baseapps-${pkgver}
+ cd kde-baseapps-${pkgver}
+ patch -p1 -i "${srcdir}"/kde-baseapps-4.9.4-fix-bugs-311206-311246.diff
# Don't recommend nonfree software or Google.
patch -Np1 -i "${srcdir}/konq-about-fsdg.diff"
- cd ${srcdir}
+ cd ../
+
mkdir build
cd build
cmake ../kde-baseapps-${pkgver} \
diff --git a/libre/kdebase-konqueror-libre/kde-baseapps-4.9.4-fix-bugs-311206-311246.diff b/libre/kdebase-konqueror-libre/kde-baseapps-4.9.4-fix-bugs-311206-311246.diff
new file mode 100644
index 000000000..9f328ec60
--- /dev/null
+++ b/libre/kdebase-konqueror-libre/kde-baseapps-4.9.4-fix-bugs-311206-311246.diff
@@ -0,0 +1,232 @@
+diff --git a/dolphin/src/kitemviews/kstandarditemlistwidget.cpp b/dolphin/src/kitemviews/kstandarditemlistwidget.cpp
+index f92cab5..af16954 100644
+--- a/dolphin/src/kitemviews/kstandarditemlistwidget.cpp
++++ b/dolphin/src/kitemviews/kstandarditemlistwidget.cpp
+@@ -193,7 +193,8 @@ KStandardItemListWidget::KStandardItemListWidget(KItemListWidgetInformant* infor
+ m_additionalInfoTextColor(),
+ m_overlay(),
+ m_rating(),
+- m_roleEditor(0)
++ m_roleEditor(0),
++ m_oldRoleEditor(0)
+ {
+ }
+
+@@ -203,6 +204,7 @@ KStandardItemListWidget::~KStandardItemListWidget()
+ m_textInfo.clear();
+
+ delete m_roleEditor;
++ delete m_oldRoleEditor;
+ }
+
+ void KStandardItemListWidget::setLayout(Layout layout)
+@@ -609,13 +611,16 @@ void KStandardItemListWidget::editedRoleChanged(const QByteArray& current, const
+ this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
+ disconnect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
+- // Do not delete the role editor using deleteLater() because we might be
+- // inside a nested event loop which has been started by one of its event
+- // handlers (contextMenuEvent() or drag&drop inside mouseMoveEvent()).
+- m_roleEditor->deleteWhenIdle();
++ m_oldRoleEditor = m_roleEditor;
++ m_roleEditor->hide();
+ m_roleEditor = 0;
+ }
+ return;
++ } else if (m_oldRoleEditor) {
++ // Delete the old editor before constructing the new one to
++ // prevent a memory leak.
++ m_oldRoleEditor->deleteLater();
++ m_oldRoleEditor = 0;
+ }
+
+ Q_ASSERT(!m_roleEditor);
+@@ -1267,21 +1272,19 @@ QRectF KStandardItemListWidget::roleEditingRect(const QByteArray& role) const
+
+ void KStandardItemListWidget::closeRoleEditor()
+ {
++ disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
++ this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
++ disconnect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
++ this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
++
+ if (m_roleEditor->hasFocus()) {
+ // If the editing was not ended by a FocusOut event, we have
+ // to transfer the keyboard focus back to the KItemListContainer.
+ scene()->views()[0]->parentWidget()->setFocus();
+ }
+
+- disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
+- this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
+- disconnect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
+- this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
+-
+- // Do not delete the role editor using deleteLater() because we might be
+- // inside a nested event loop which has been started by one of its event
+- // handlers (contextMenuEvent() or drag&drop inside mouseMoveEvent()).
+- m_roleEditor->deleteWhenIdle();
++ m_oldRoleEditor = m_roleEditor;
++ m_roleEditor->hide();
+ m_roleEditor = 0;
+ }
+
+diff --git a/dolphin/src/kitemviews/kstandarditemlistwidget.h b/dolphin/src/kitemviews/kstandarditemlistwidget.h
+index 787722d..386f60e 100644
+--- a/dolphin/src/kitemviews/kstandarditemlistwidget.h
++++ b/dolphin/src/kitemviews/kstandarditemlistwidget.h
+@@ -241,6 +241,7 @@ private:
+ QPixmap m_rating;
+
+ KItemListRoleEditor* m_roleEditor;
++ KItemListRoleEditor* m_oldRoleEditor;
+
+ friend class KStandardItemListWidgetInformant; // Accesses private static methods to be able to
+ // share a common layout calculation
+diff --git a/dolphin/src/kitemviews/private/kitemlistroleeditor.cpp b/dolphin/src/kitemviews/private/kitemlistroleeditor.cpp
+index 78dbfe9..1e4b5fd 100644
+--- a/dolphin/src/kitemviews/private/kitemlistroleeditor.cpp
++++ b/dolphin/src/kitemviews/private/kitemlistroleeditor.cpp
+@@ -26,9 +26,7 @@ KItemListRoleEditor::KItemListRoleEditor(QWidget *parent) :
+ KTextEdit(parent),
+ m_index(0),
+ m_role(),
+- m_blockFinishedSignal(false),
+- m_eventHandlingLevel(0),
+- m_deleteAfterEventHandling(false)
++ m_blockFinishedSignal(false)
+ {
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+@@ -66,20 +64,6 @@ QByteArray KItemListRoleEditor::role() const
+ return m_role;
+ }
+
+-void KItemListRoleEditor::deleteWhenIdle()
+-{
+- if (m_eventHandlingLevel > 0) {
+- // We are handling an event at the moment. It could be that we
+- // are in a nested event loop run by contextMenuEvent() or a
+- // call of mousePressEvent() which results in drag&drop.
+- // -> do not call deleteLater() to prevent a crash when we
+- // return from the nested event loop.
+- m_deleteAfterEventHandling = true;
+- } else {
+- deleteLater();
+- }
+-}
+-
+ bool KItemListRoleEditor::eventFilter(QObject* watched, QEvent* event)
+ {
+ if (watched == parentWidget() && event->type() == QEvent::Resize) {
+@@ -91,42 +75,13 @@ bool KItemListRoleEditor::eventFilter(QObject* watched, QEvent* event)
+
+ bool KItemListRoleEditor::event(QEvent* event)
+ {
+- ++m_eventHandlingLevel;
+-
+ if (event->type() == QEvent::FocusOut) {
+ QFocusEvent* focusEvent = static_cast<QFocusEvent*>(event);
+ if (focusEvent->reason() != Qt::PopupFocusReason) {
+ emitRoleEditingFinished();
+ }
+ }
+-
+- const int result = KTextEdit::event(event);
+- --m_eventHandlingLevel;
+-
+- if (m_deleteAfterEventHandling && m_eventHandlingLevel == 0) {
+- // Schedule this object for deletion and make sure that we do not try
+- // to deleteLater() again when the DeferredDelete event is received.
+- deleteLater();
+- m_deleteAfterEventHandling = false;
+- }
+-
+- return result;
+-}
+-
+-bool KItemListRoleEditor::viewportEvent(QEvent* event)
+-{
+- ++m_eventHandlingLevel;
+- const bool result = KTextEdit::viewportEvent(event);
+- --m_eventHandlingLevel;
+-
+- if (m_deleteAfterEventHandling && m_eventHandlingLevel == 0) {
+- // Schedule this object for deletion and make sure that we do not try
+- // to deleteLater() again when the DeferredDelete event is received.
+- deleteLater();
+- m_deleteAfterEventHandling = false;
+- }
+-
+- return result;
++ return KTextEdit::event(event);
+ }
+
+ void KItemListRoleEditor::keyPressEvent(QKeyEvent* event)
+@@ -144,8 +99,7 @@ void KItemListRoleEditor::keyPressEvent(QKeyEvent* event)
+ return;
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+- // TODO: find a better way to fix the bug 309760
+- clearFocus(); // emitRoleEditingFinished(); results in a crash
++ emitRoleEditingFinished();
+ event->accept();
+ return;
+ default:
+diff --git a/dolphin/src/kitemviews/private/kitemlistroleeditor.h b/dolphin/src/kitemviews/private/kitemlistroleeditor.h
+index a2f7058..aa2c977 100644
+--- a/dolphin/src/kitemviews/private/kitemlistroleeditor.h
++++ b/dolphin/src/kitemviews/private/kitemlistroleeditor.h
+@@ -47,15 +47,6 @@ public:
+ void setRole(const QByteArray& role);
+ QByteArray role() const;
+
+- /**
+- * Calls deleteLater() if no event is being handled at the moment.
+- * Otherwise, the deletion is deferred until the event handling is
+- * finished. This prevents that the deletion happens inside a nested
+- * event loop which might be run in contextMenuEvent() or
+- * mouseMoveEvent() because this would probably cause a crash.
+- */
+- void deleteWhenIdle();
+-
+ virtual bool eventFilter(QObject* watched, QEvent* event);
+
+ signals:
+@@ -64,7 +55,6 @@ signals:
+
+ protected:
+ virtual bool event(QEvent* event);
+- virtual bool viewportEvent(QEvent* event);
+ virtual void keyPressEvent(QKeyEvent* event);
+
+ private slots:
+@@ -85,8 +75,6 @@ private:
+ int m_index;
+ QByteArray m_role;
+ bool m_blockFinishedSignal;
+- int m_eventHandlingLevel;
+- bool m_deleteAfterEventHandling;
+ };
+
+ #endif
+diff --git a/dolphin/src/views/dolphinview.cpp b/dolphin/src/views/dolphinview.cpp
+index 70a7394..0e97c5a 100644
+--- a/dolphin/src/views/dolphinview.cpp
++++ b/dolphin/src/views/dolphinview.cpp
+@@ -1227,11 +1227,14 @@ void DolphinView::updateViewState()
+
+ QSet<int> selectedItems = selectionManager->selectedItems();
+
+- for (QList<KUrl>::iterator it = m_selectedUrls.begin(); it != m_selectedUrls.end(); ++it) {
++ QList<KUrl>::iterator it = m_selectedUrls.begin();
++ while (it != m_selectedUrls.end()) {
+ const int index = m_model->index(*it);
+ if (index >= 0) {
+ selectedItems.insert(index);
+- m_selectedUrls.erase(it);
++ it = m_selectedUrls.erase(it);
++ } else {
++ ++it;
+ }
+ }
+
diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD
index 01d835b1a..a5d718ad1 100644
--- a/libre/libretools/PKGBUILD
+++ b/libre/libretools/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: fauno <fauno@kiwwwi.com.ar>
pkgbase=libretools
-pkgname=(libretools libretools-pr libretools-mips64el)
-pkgver=20121128.3
+pkgname=(libretools libretools-mips64el)
+pkgver=20121209
pkgdesc="Programs for Parabola development"
url="https://projects.parabolagnulinux.org/libretools.git/"
license=('GPL3+' 'GPL2')
@@ -12,7 +12,7 @@ license=('GPL3+' 'GPL2')
pkgrel=1
arch=('any')
groups=(base-devel)
-depends=(openssh rsync git wget chroottools tokyocabinet)
+depends=(openssh rsync git wget 'chroottools>=20121202' tokyocabinet)
source=(https://projects.parabolagnulinux.org/$pkgbase.git/snapshot/$pkgbase-$pkgver.tar)
build() {
@@ -29,14 +29,6 @@ package_libretools() {
install -Dm755 rePKGBUILD.proto ${pkgdir}/usr/share/pacman/rePKGBUILD.proto
}
-package_libretools-pr() {
- pkgdesc="Scripts for Parabola development (pr)"
- backup=('etc/libretools.d/prtools.conf')
-
- cd "$srcdir/$pkgbase-$pkgver"
- make install-libretools-pr DESTDIR="$pkgdir"
-}
-
package_libretools-mips64el() {
pkgdesc="Scripts for Parabola development (for mips64el architecture)"
backup=('etc/libretools.d/mips64el.conf')
@@ -45,4 +37,4 @@ package_libretools-mips64el() {
make install-libretools-mips64el DESTDIR="$pkgdir"
}
-md5sums=('510f69ff043095b60f8a23ee28fd0a16')
+md5sums=('0a9bea328886b7745a513fa322f16d88')