おはようございます、芳賀です。 手紙をもらった日:Sat, 15 May 2004 05:45:01 +0900 (JST) 手紙をくれた人:自分 【[vine-users:065747] Re: RRScreenChangeNotifyMask の未定義について】 vine-users:065739 の件で、福原さんから vine-users:065741 の アドバイスをいただき、その折 yasufumi.haga> なるほど、この部分は XFree86 のバージョンに依存しているということ yasufumi.haga> なんですね。つまり、`XRRSelectInput' 関数自体は存在していて、4.2.1 yasufumi.haga> でも使用できるが、この関数で使用できるマスクとして、後から yasufumi.haga> `RRScreenChangeNotifyMask' が追加された、ということですか。 yasufumi.haga> この XFree86 のバージョンによる違いのことは、xscreensaver の作者に yasufumi.haga> 連絡しようと思います。 と書きました。そこでその後、原作者の Jamie Zawinski <jwz@xxxxxxx> 氏 にこの件を連絡したところ、以下のパッチをいただきました。原作者の許可 を得ましたので、ここに送らせていただきます。 以下のパッチは、バージョン 4.16 の xscreensaver のソースに当ててくだ さい。それから通常どおり configure -> make -> make install してくだ さい。vine-users:065739 で報告したエラーは発生しなくなっています。 ---------------------------- ここから ---------------------------- Index: timers.c =================================================================== RCS file: /cvsroot/xscreensaver/driver/timers.c,v retrieving revision 1.65 diff -u -1 -r1.65 timers.c --- timers.c 6 May 2004 04:28:48 -0000 1.65 +++ timers.c 17 May 2004 07:55:25 -0000 @@ -886,2 +886,3 @@ (XRRScreenChangeNotifyEvent *) &event; + /* XRRRootToScreen is in Xrandr.h 1.4, 2001/06/07 */ int screen = XRRRootToScreen (si->dpy, xrr_event->window); @@ -905,4 +906,6 @@ +# ifdef RRScreenChangeNotifyMask /* Inform Xlib that it's ok to update its data structures. */ - XRRUpdateConfiguration (&event); + XRRUpdateConfiguration (&event); /* Xrandr.h 1.9, 2002/09/29 */ +# endif /* RRScreenChangeNotifyMask */ Index: xset.c =================================================================== RCS file: /cvsroot/xscreensaver/driver/xset.c,v retrieving revision 1.24 diff -u -1 -r1.24 xset.c --- xset.c 4 May 2004 09:08:10 -0000 1.24 +++ xset.c 17 May 2004 07:50:58 -0000 @@ -173,2 +173,3 @@ &si->randr_error_number); + if (ok) @@ -181,4 +182,8 @@ for (i = 0; i < nscreens; i++) +# ifdef RRScreenChangeNotifyMask /* randr.h 1.5, 2002/09/29 */ XRRSelectInput (si->dpy, RootWindow (si->dpy, i), RRScreenChangeNotifyMask); +# else /* !RRScreenChangeNotifyMask */ /* Xrandr.h 1.4, 2001/06/07 */ + XRRScreenChangeSelectInput (si->dpy, RootWindow (si->dpy, i), True); +# endif /* !RRScreenChangeNotifyMask */ } @@ -188,3 +193,3 @@ -#endif /* HAVE_XIDLE_EXTENSION */ +#endif /* HAVE_RANDR */ ---------------------------- ここまで ---------------------------- 以上です。 --- Yasufumi Haga yasufumi.haga@xxxxxxxxx http://homepage3.nifty.com/peterpan/ fingerprint:0EFA 299A BC32 7D68 1FEF BA2B 804E 9B15 C4F0 F9F0