[arch-commits] Commit in fluxbox/trunk (PKGBUILD fluxbox-fix_timer.diff)

Eric Bélanger eric at nymeria.archlinux.org
Mon Feb 11 02:54:01 UTC 2013


    Date: Monday, February 11, 2013 @ 03:54:01
  Author: eric
Revision: 177925

upgpkg: fluxbox 1.3.4-1

Upstream update, Remove old patch

Modified:
  fluxbox/trunk/PKGBUILD
Deleted:
  fluxbox/trunk/fluxbox-fix_timer.diff

------------------------+
 PKGBUILD               |   12 +++----
 fluxbox-fix_timer.diff |   78 -----------------------------------------------
 2 files changed, 5 insertions(+), 85 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-02-10 19:24:40 UTC (rev 177924)
+++ PKGBUILD	2013-02-11 02:54:01 UTC (rev 177925)
@@ -2,8 +2,8 @@
 # Maintainer: Eric Bélanger <eric at archlinux.org>
 
 pkgname=fluxbox
-pkgver=1.3.3
-pkgrel=2
+pkgver=1.3.4
+pkgrel=1
 pkgdesc="A lightweight and highly-configurable window manager"
 arch=('i686' 'x86_64')
 url="http://www.fluxbox.org"
@@ -12,14 +12,12 @@
 optdepends=('xorg-xmessage: for using the fbsetbg and fluxbox-generate_menu utilities')
 options=('!makeflags')
 source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.lzma \
-        fluxbox.desktop fluxbox-fix_timer.diff)
-sha1sums=('6892259dd495424291194fde242230cca95abce3'
-          'f3f83b8ce84d79c2f8670ef687e0dd89ab0552b8'
-          'bc10368d7a157f83428897e2b7aced7ce620dec3')
+        fluxbox.desktop)
+sha1sums=('8a4f0d79238609523e1127808d9d2eab15030ea0'
+          'f3f83b8ce84d79c2f8670ef687e0dd89ab0552b8')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  patch -p1 -i "${srcdir}/fluxbox-fix_timer.diff"
   ./configure --prefix=/usr \
     --enable-xft --enable-xinerama \
     --enable-imlib2 --enable-nls

Deleted: fluxbox-fix_timer.diff
===================================================================
--- fluxbox-fix_timer.diff	2013-02-10 19:24:40 UTC (rev 177924)
+++ fluxbox-fix_timer.diff	2013-02-11 02:54:01 UTC (rev 177925)
@@ -1,78 +0,0 @@
-From 4d307dcd10af9d817ff5c05fc40ae7487564cb31 Mon Sep 17 00:00:00 2001
-From: Mathias Gumz <akira at fluxbox dot org>
-Date: Sat, 12 Jan 2013 08:24:11 +0000
-Subject: Fix bug: handle the list of Timers not in-place
-
-With commit 541c8c4 we switched from an (manually) ordered list to a
-std::set<> to handle the active timers. The code which checks for overdue
-timers now traverses and modifies the std::set<> in place. This might
-lead to an infinite loop. Examples of such bad behavior are "flickering of
-the tooltip" (bug #3590078) or crashes (bug #3600143) or just insanely high
-cpu load when autoraising windows or submenus.
-
-We now make a copy of the std::set<> traverse this instead of the original.
----
-diff --git a/src/FbTk/Timer.cc b/src/FbTk/Timer.cc
-index f63ea38..dd736dd 100644
---- a/src/FbTk/Timer.cc
-+++ b/src/FbTk/Timer.cc
-@@ -52,6 +52,7 @@
- #endif
- 
- #include <cstdio>
-+#include <vector>
- #include <set>
- 
- 
-@@ -195,32 +196,35 @@ void Timer::updateTimers(int fd) {
-         return;
-     }
- 
-+    // stoping / restarting the timers modifies the list in an upredictable
-+    // way. to avoid problems such as infinite loops we save the current
-+    // (ordered) list of timers into a list and work on it.
-+
-+    ssize_t i;
-+    const ssize_t ts = s_timerlist.size();
-+    std::vector<FbTk::Timer*> timers;
-+
-+    timers.reserve(ts);
-+    for (it = s_timerlist.begin(); it != s_timerlist.end(); ++it ) {
-+        timers.push_back(*it);
-+    }
-+
-     now = FbTime::now();
--    for (it = s_timerlist.begin(); it != s_timerlist.end(); ) {
-+    for (i = 0; i < ts; ++i) {
-+
-+        FbTk::Timer* t = timers[i];
- 
--        // t->fireTimeout() might add timers to the list
--        // this invalidates 'it'. thus we store the current timer
--        Timer* t = *it;
-         if (now < t->getEndTime()) {
-             break;
-         }
- 
-         t->fireTimeout();
--
--        // find the iterator to the timer again
--        // and continue working on the list
--        it = s_timerlist.find(t);
--        it++;
--        s_timerlist.erase(t);
-+        t->stop();
- 
-         if (! t->doOnce()) { // restart the current timer
--            t->m_timing = false;
-             t->start();
--        } else {
--            t->stop();
-         }
-     }
--
- }
- 
- 
---
-cgit v0.9.1




More information about the arch-commits mailing list