Hello community, here is the log from the commit of package arts checked in at Tue Oct 16 02:22:55 CEST 2007. -------- --- KDE/arts/arts.changes 2007-09-19 17:45:54.000000000 +0200 +++ /mounts/work_src_done/STABLE/arts/arts.changes 2007-10-15 17:47:08.000000000 +0200 @@ -1,0 +2,7 @@ +Tue Oct 9 10:49:45 CEST 2007 - stbinner@suse.de + +- update to 1.5.8 release: stop polling NotificationManager for new + notifications, instead handle notifications on demand. This gets + rid of the 50ms timer that was burning energy unnecessarily. + +------------------------------------------------------------------- Old: ---- arts-1.5.7.tar.bz2 New: ---- arts-1.5.8.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arts.spec ++++++ --- /var/tmp/diff_new_pack.k19714/_old 2007-10-16 02:22:31.000000000 +0200 +++ /var/tmp/diff_new_pack.k19714/_new 2007-10-16 02:22:31.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package arts (Version 1.5.7) +# spec file for package arts (Version 1.5.8) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -21,8 +21,8 @@ Provides: kdelibs3-artsd Summary: Modular Software Synthesizer PreReq: permissions -Version: 1.5.7 -Release: 38 +Version: 1.5.8 +Release: 1 Source0: %{name}-%{version}.tar.bz2 Source1: artswrapper.7.gz #Patch0: 1_5_BRANCH.diff @@ -184,6 +184,10 @@ /opt/kde3/include/* /opt/kde3/%_lib/*.la %changelog +* Tue Oct 09 2007 - stbinner@suse.de +- update to 1.5.8 release: stop polling NotificationManager for new + notifications, instead handle notifications on demand. This gets + rid of the 50ms timer that was burning energy unnecessarily. * Wed Sep 19 2007 - dmueller@suse.de - fix arts starting in multiple instances (#178930) * Mon May 14 2007 - stbinner@suse.de ++++++ arts-1.5.7.tar.bz2 -> arts-1.5.8.tar.bz2 ++++++ ++++ 20608 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/acinclude.m4 new/arts-1.5.8/acinclude.m4 --- old/arts-1.5.7/acinclude.m4 2007-05-14 13:23:02.000000000 +0200 +++ new/arts-1.5.8/acinclude.m4 2007-10-08 16:17:37.000000000 +0200 @@ -12017,7 +12017,7 @@ linux*) libltdl_cv_sys_dlopen_deplibs=yes ;; - netbsd*|openbsd*|freebsd*) + netbsd*|openbsd*|freebsd*|dragonfly*) libltdl_cv_sys_dlopen_deplibs=yes ;; solaris*) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/admin/cvs.sh new/arts-1.5.8/admin/cvs.sh --- old/arts-1.5.7/admin/cvs.sh 2007-05-14 12:55:38.000000000 +0200 +++ new/arts-1.5.8/admin/cvs.sh 2007-10-08 13:32:48.000000000 +0200 @@ -316,7 +316,7 @@ fi fi if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then - VERSION="\"3.5.7\"" + VERSION="\"3.5.8\"" fi if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then modulename=`pwd`; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/admin/detect-autoconf.pl new/arts-1.5.8/admin/detect-autoconf.pl --- old/arts-1.5.7/admin/detect-autoconf.pl 2007-05-14 12:55:38.000000000 +0200 +++ new/arts-1.5.8/admin/detect-autoconf.pl 2007-10-08 13:32:48.000000000 +0200 @@ -46,6 +46,8 @@ ($version) = $file =~ /$prefix\/$program-?(.*)$/; $version =~ s/-|\.//g; + # Don't check the -wrapper ones + next if $version eq "wrapper"; # Special case some programs to make sure it has a minimum version. if (not $version and exists $minimumVersions{$program}) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/arts.lsm new/arts-1.5.8/arts.lsm --- old/arts-1.5.7/arts.lsm 2007-05-14 09:36:40.000000000 +0200 +++ new/arts-1.5.8/arts.lsm 2007-10-08 13:04:34.000000000 +0200 @@ -1,7 +1,7 @@ Begin4 Title: arts -Version: 1.5.7 -Entered-date: 2007-05-22 +Version: 1.5.8 +Entered-date: 2007-10-15 Description: Soundserver for the K Desktop Environment (KDE) Keywords: KDE X11 desktop Qt Author: http://bugs.kde.org/ (KDE Bugtracking System) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/configure.in new/arts-1.5.8/configure.in --- old/arts-1.5.7/configure.in 2007-05-14 13:23:03.000000000 +0200 +++ new/arts-1.5.8/configure.in 2007-10-08 16:17:37.000000000 +0200 @@ -21,7 +21,7 @@ dnl Version (we /might/ want to use libtool versioning, too) ARTS_MAJOR_VERSION=1 ARTS_MINOR_VERSION=5 -ARTS_MICRO_VERSION=7 +ARTS_MICRO_VERSION=8 ARTS_VERSION=$ARTS_MAJOR_VERSION.$ARTS_MINOR_VERSION.$ARTS_MICRO_VERSION dnl Automake doc recommends to do this only here. (Janos) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/configure.in.in new/arts-1.5.8/configure.in.in --- old/arts-1.5.7/configure.in.in 2007-05-14 09:36:40.000000000 +0200 +++ new/arts-1.5.8/configure.in.in 2007-10-08 13:06:31.000000000 +0200 @@ -17,7 +17,7 @@ dnl Version (we /might/ want to use libtool versioning, too) ARTS_MAJOR_VERSION=1 ARTS_MINOR_VERSION=5 -ARTS_MICRO_VERSION=7 +ARTS_MICRO_VERSION=8 ARTS_VERSION=$ARTS_MAJOR_VERSION.$ARTS_MINOR_VERSION.$ARTS_MICRO_VERSION dnl Automake doc recommends to do this only here. (Janos) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/libltdl/ltdl.c new/arts-1.5.8/libltdl/ltdl.c --- old/arts-1.5.7/libltdl/ltdl.c 2007-05-14 12:55:37.000000000 +0200 +++ new/arts-1.5.8/libltdl/ltdl.c 2007-10-08 13:32:47.000000000 +0200 @@ -2006,7 +2006,7 @@ } strncpy(tmp, &str[1], (end - str) - 1); - tmp[len-3] = '\0'; + tmp[end-str-1] = '\0'; *dest = tmp; } else @@ -2198,29 +2198,34 @@ /* read the .la file */ while (!feof(file)) { + line[line_len-2] = '\0'; if (!fgets (line, line_len, file)) { break; } + /* Handle the case where we occasionally need to read a line + that is longer than the initial buffer size. */ + while (line[line_len-2] && (!feof (file))) + { + line = LT_DLREALLOC (char, line, line_len *2); + line[line_len*2-2] = '\0'; + if (!line || !fgets (&line[line_len -1], (int) line_len +1, file)) + { + error = 1; + break; + } + line_len *= 2; + } - /* Handle the case where we occasionally need to read a line - that is longer than the initial buffer size. */ - while (line[strlen(line) -1] != '\n') - { - line = LT_DLREALLOC (char, line, line_len *2); - if (!fgets (&line[line_len -1], line_len +1, file)) - { - break; - } - line_len *= 2; - } - + if (error) + break; if (line[0] == '\n' || line[0] == '#') { continue; } + #undef STR_DLNAME #define STR_DLNAME "dlname=" if (strncmp (line, STR_DLNAME, sizeof (STR_DLNAME) - 1) == 0) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/libltdl/ltdl.m4 new/arts-1.5.8/libltdl/ltdl.m4 --- old/arts-1.5.7/libltdl/ltdl.m4 2007-05-14 12:55:37.000000000 +0200 +++ new/arts-1.5.8/libltdl/ltdl.m4 2007-10-08 13:32:47.000000000 +0200 @@ -97,7 +97,7 @@ linux*) libltdl_cv_sys_dlopen_deplibs=yes ;; - netbsd*|openbsd*|freebsd*) + netbsd*|openbsd*|freebsd*|dragonfly*) libltdl_cv_sys_dlopen_deplibs=yes ;; solaris*) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/mcop/iomanager.cc new/arts-1.5.8/mcop/iomanager.cc --- old/arts-1.5.7/mcop/iomanager.cc 2005-09-10 10:13:32.000000000 +0200 +++ new/arts-1.5.8/mcop/iomanager.cc 2007-10-08 11:47:08.000000000 +0200 @@ -409,9 +409,15 @@ void StdIOManager::addTimer(int milliseconds, TimeNotify *notify) { - timeList.push_back(new TimeWatcher(milliseconds,notify)); - timeListChanged = true; - Dispatcher::wakeUp(); + if (milliseconds == -1 && notify == 0) { + // HACK: in order to not add a virtual function to IOManager we're calling addTimer with + // magic values. This call tells the ioManager that notifications are pending and + // NotificationManager::run() should get called soon. + } else { + timeList.push_back(new TimeWatcher(milliseconds,notify)); + timeListChanged = true; + Dispatcher::wakeUp(); + } } void StdIOManager::removeTimer(TimeNotify *notify) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/mcop/notification.cc new/arts-1.5.8/mcop/notification.cc --- old/arts-1.5.7/mcop/notification.cc 2005-09-10 10:13:32.000000000 +0200 +++ new/arts-1.5.8/mcop/notification.cc 2007-10-08 11:47:08.000000000 +0200 @@ -22,6 +22,7 @@ #include "notification.h" #include "debug.h" +#include "dispatcher.h" using namespace Arts; @@ -41,6 +42,17 @@ instance = 0; } +void NotificationManager::send(Notification wm) +{ + if (todo.empty()) { + // HACK: in order to not add a virtual function to IOManager we're calling addTimer with + // magic values. This call tells the ioManager that notifications are pending and + // NotificationManager::run() should get called soon. + Arts::Dispatcher::the()->ioManager()->addTimer(-1, 0); + } + todo.push(wm); +} + bool NotificationManager::run() { if(todo.empty()) return false; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/mcop/notification.h new/arts-1.5.8/mcop/notification.h --- old/arts-1.5.7/mcop/notification.h 2005-09-10 10:13:32.000000000 +0200 +++ new/arts-1.5.8/mcop/notification.h 2007-10-08 11:47:08.000000000 +0200 @@ -72,10 +72,7 @@ { return instance; } - inline void send(Notification wm) - { - todo.push(wm); - } + void send(Notification wm); inline bool pending() { return !todo.empty(); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/arts-1.5.7/qtmcop/qiomanager.cc new/arts-1.5.8/qtmcop/qiomanager.cc --- old/arts-1.5.7/qtmcop/qiomanager.cc 2005-09-10 10:13:33.000000000 +0200 +++ new/arts-1.5.8/qtmcop/qiomanager.cc 2007-10-08 11:47:08.000000000 +0200 @@ -102,30 +102,13 @@ class HandleNotifications : public TimeNotify { public: - HandleNotifications() - { - Arts::Dispatcher::the()->ioManager()->addTimer(50, this); - } void notifyTime() { - NotificationManager::the()->run(); - } - virtual ~HandleNotifications() - { Arts::Dispatcher::the()->ioManager()->removeTimer(this); + NotificationManager::the()->run(); + delete this; } }; - -class HandleNotificationsStartup :public StartupClass -{ -public: - void startup() { h = new HandleNotifications(); } - void shutdown() { delete h; } -private: - HandleNotifications *h; -}; -static HandleNotificationsStartup handleNotifications; - } /* @@ -237,6 +220,14 @@ void QIOManager::addTimer(int milliseconds, TimeNotify *notify) { + if (milliseconds == -1 && notify == 0) + { + // HACK: in order to not add a virtual function to IOManager we're calling addTimer with + // magic values. This call tells the ioManager that notifications are pending and + // NotificationManager::run() should get called soon. + notify = new HandleNotifications(); + milliseconds = 0; + } timeList.push_back(new QTimeWatch(milliseconds,notify)); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org