diff --git a/xscreensaver-5.06-bz456399-jwz.patch b/xscreensaver-5.06-bz456399-jwz.patch new file mode 100644 index 0000000..4aa9207 --- /dev/null +++ b/xscreensaver-5.06-bz456399-jwz.patch @@ -0,0 +1,54 @@ +Index: driver/screens.c +=================================================================== +RCS file: /cvsroot/xscreensaver/driver/screens.c,v +retrieving revision 1.7 +diff -u -r1.7 screens.c +--- driver/screens.c 8 Jul 2008 05:22:46 -0000 1.7 ++++ driver/screens.c 24 Jul 2008 15:52:14 -0000 +@@ -342,7 +342,7 @@ + + for (i = 0, j = 0; i < ScreenCount (dpy); i++) + { +- Screen *screen = ScreenOfDisplay (dpy, j); ++ Screen *screen = ScreenOfDisplay (dpy, i); + + if (! new_randr_p) /* RANDR 1.0 */ + { +@@ -624,6 +624,7 @@ + if (i != j && + monitors[i]->sanity == S_SANE && + monitors[j]->sanity == S_SANE && ++ monitors[i]->screen == monitors[j]->screen && + X2 >= X1 && + Y2 >= Y1 && + (X2+W2) <= (X1+W1) && +@@ -648,6 +649,7 @@ + { + if (monitors[i]->sanity != S_SANE) continue; /* already marked */ + if (monitors[j]->sanity != S_SANE) continue; ++ if (monitors[i]->screen != monitors[j]->screen) continue; + + if (monitors_overlap_p (monitors[i], monitors[j])) + { +@@ -656,17 +658,15 @@ + } + } + +- /* Finally, make sure all monitors are enclosed by their X screen. ++ /* Finally, make sure all monitors have sane positions and sizes. + Xinerama sometimes reports 1024x768 VPs at -1936862040, -1953705044. + */ + for (i = 0; i < count; i++) + { +- int sw = WidthOfScreen (monitors[i]->screen) * 2; +- int sh = HeightOfScreen (monitors[i]->screen) * 2; + if (monitors[i]->sanity != S_SANE) continue; /* already marked */ +- if (X1 < 0 || Y1 < 0 || +- W1 <= 0 || H1 <= 0 || +- X1+W1 > sw || Y1+H1 > sh) ++ if (X1 < 0 || Y1 < 0 || ++ W1 <= 0 || H1 <= 0 || ++ X1+W1 >= 0x7FFF || Y1+H1 >= 0x7FFF) + { + monitors[i]->sanity = S_OFFSCREEN; + monitors[i]->enemy = 0; diff --git a/xscreensaver.spec b/xscreensaver.spec index 17ac377..d716ee9 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -5,7 +5,7 @@ %define modular_conf 1 -%define fedora_rel 1 +%define fedora_rel 2 %define extrarel %{nil} @@ -15,14 +15,14 @@ %define autoconf_ver 2.53 %define update_po 0 -%define build_tests 1 +%define build_tests 0 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Summary: X screen saver and locker Name: %{name} Version: %{mainversion} -Release: %{fedora_rel}%{?dist}%{?extrarel}.1 +Release: %{fedora_rel}%{?dist}%{?extrarel} Epoch: 1 License: BSD Group: Amusements/Graphics @@ -33,6 +33,7 @@ Source10: update-xscreensaver-hacks %endif Patch1: xscreensaver-5.00b5-sanitize-hacks.patch Patch21: xscreensaver-5.05-webcollage-default-nonet.patch +Patch40: xscreensaver-5.06-bz456399-jwz.patch Requires: xscreensaver-base = %{epoch}:%{version}-%{release} Requires: xscreensaver-extras = %{epoch}:%{version}-%{release} Requires: xscreensaver-gl-extras = %{epoch}:%{version}-%{release} @@ -68,6 +69,10 @@ Requires: pam > %{pam_ver} Requires: xdg-utils Requires: xorg-x11-resutils Requires: xorg-x11-fonts-ISO8859-1-100dpi +%if 0%{?build_tests} < 1 +# Obsoletes but not Provides +Obsoletes: xscreeensaver-tests < %{epoch}:%{version}-%{release} +%endif %package extras Summary: An enhanced set of screensavers @@ -181,6 +186,7 @@ This package contains some test programs to debug XScreenSaver. %patch1 -p1 -b .sanitize-hacks %patch21 -p1 -b .nonet +%patch40 -p0 -b .jwz40 change_option(){ set +x @@ -603,6 +609,9 @@ exit 0 %defattr(-,root,root,-) %changelog +* Fri Jul 25 2008 Mamoru Tasaka - 1:5.06-2 +- Patch from jwz to fix bug 456399 + * Thu Jul 24 2008 Mamoru Tasaka - Build some test binaries for debugging