diff --git a/xscreensaver-5.00-interag-segv.patch b/xscreensaver-5.00-interag-segv.patch new file mode 100644 index 0000000..9cf9eef --- /dev/null +++ b/xscreensaver-5.00-interag-segv.patch @@ -0,0 +1,47 @@ +--- xscreensaver-5.00/hacks/interaggregate.c.interg 2006-04-06 11:30:04.000000000 +0900 ++++ xscreensaver-5.00/hacks/interaggregate.c 2006-07-01 02:22:11.000000000 +0900 +@@ -352,11 +352,11 @@ + { + unsigned long c; + +- if ( x >= f->width ) x -= f->width; +- else if ( x < 0 ) x += f->width; ++ while ( x >= f->width ) x -= f->width; ++ while ( x < 0 ) x += f->width; + +- if ( y >= f->height ) y -= f->height; +- else if ( y < 0 ) y += f->height; ++ while ( y >= f->height ) y -= f->height; ++ while ( y < 0 ) y += f->height; + + /* if ( in_bounds(f, x, y) ) ... */ + +@@ -566,7 +566,7 @@ + { + if (i < base_orbits ) + { +- if ( f->base_on_center ) ++ if ( f->base_on_center ) + circle->center = &f->center_of_universe; + else + { +@@ -719,7 +719,9 @@ + double d, dsqr, dx, dy; + Circle *c2 = f->circles + j; + ++#ifdef TIME_ME + ++f->possible_intersections; ++#endif + dx = c2->x - c1->x; + dy = c2->y - c1->y; + +@@ -745,7 +747,9 @@ + * intersection + */ + ++#ifdef TIME_ME + ++f->intersection_count; ++#endif + + /* unit vector in direction of c1 to c2 */ + bx = dx / d; diff --git a/xscreensaver.spec b/xscreensaver.spec index 1e2600c..2ec0e93 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -1,7 +1,7 @@ %define name xscreensaver %define version 5.00 -%define fedora_rel 10 +%define fedora_rel 11 %define fedora_ver 5.90 %define default_text %{_datadir}/doc/fedora-release-%{fedora_ver}/eula.txt @@ -31,6 +31,7 @@ Patch104: xscreensaver-5.00-xmlmanfix.patch Patch105: xscreensaver-5.00-text-locale.patch Patch106: xscreensaver-5.00-noseguy-cpueat.patch Patch107: xscreensaver-5.00-hacks-segv-sigfpv.patch +Patch108: xscreensaver-5.00-interag-segv.patch %package base Summary: A minimal installation of xscreensaver @@ -105,6 +106,7 @@ hypnotized viewing pleasure. %patch105 -p1 -b .text-locale %patch106 -p1 -b .noseguy-cpueat %patch107 -p1 -b .extras-segv-fpe +%patch108 -p1 -b .interag-segv install -c -m644 -p %{SOURCE10} po/ja.po @@ -288,6 +290,9 @@ rm -rf ${RPM_BUILD_ROOT} %defattr(-,root,root) %changelog +* Fri Jun 30 2006 Mamoru Tasaka - 1:5.00-11 +- Fix interaggregate segv. + * Thu Jun 29 2006 Mamoru Tasaka - 1:5.00-10 - Fix xscreensaver-extras hacks which cause SEGV or SIGFPE.