xorg-x11-server/zap_warning_xserver.diff
Stefan Dirsch feef5695dd - xorg-server 1.9.0.901
* This is the first release candidate for xorg-server-1.9.1.
    We've picked up fixes for some crashers and memory management
    problems as well as some minor new features including RandR
    support in XQuartz, 18bpp support in xfree86, and support for
    the nds32 architecture in xfree86.
- adjusted zap_warning_xserver.diff

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=285
2010-10-02 00:11:32 +00:00

110 lines
3.5 KiB
Diff

Index: xorg-server-1.6.3.901/hw/xfree86/common/xf86Config.c
================================================================================
--- xorg-server-1.7.99/hw/xfree86/common/xf86Config.c
+++ xorg-server-1.7.99/hw/xfree86/common/xf86Config.c
@@ -696,6 +696,7 @@
FLAG_NOTRAPSIGNALS,
FLAG_DONTVTSWITCH,
FLAG_DONTZAP,
+ FLAG_ZAPWARNING,
FLAG_DONTZOOM,
FLAG_DISABLEVIDMODE,
FLAG_ALLOWNONLOCAL,
@@ -734,6 +735,8 @@
{0}, FALSE },
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
{0}, FALSE },
+ { FLAG_ZAPWARNING, "ZapWarning", OPTV_BOOLEAN,
+ {0}, FALSE },
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
{0}, FALSE },
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
@@ -840,6 +843,7 @@
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
+ xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning);
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
--- xorg-server-1.7.99/hw/xfree86/common/xf86Events.c
+++ xorg-server-1.7.99/hw/xfree86/common/xf86Events.c
@@ -180,12 +180,26 @@
DebugF("ProcessActionEvent(%d,%x)\n", (int) action, arg);
switch (action) {
case ACTION_TERMINATE:
- if (!xf86Info.dontZap) {
+ if (xf86Info.dontZap)
+ break;
+
+ if (xf86Info.ZapWarning) {
+ static struct timeval LastZap = { 0, 0};
+ struct timeval NewZap;
+
+ gettimeofday(&NewZap, NULL);
+
+ if ((NewZap.tv_sec - LastZap.tv_sec) >= 2) {
+ xf86OSRingBell(100, 1000, 500);
+ LastZap = NewZap;
+ break;
+ }
+ }
+
#ifdef XFreeXDGA
- DGAShutdown();
+ DGAShutdown();
#endif
- GiveUp(0);
- }
+ GiveUp(0);
break;
case ACTION_NEXT_MODE:
if (!xf86Info.dontZoom)
--- xorg-server-1.7.99/hw/xfree86/common/xf86Globals.c
+++ xorg-server-1.7.99/hw/xfree86/common/xf86Globals.c
@@ -109,6 +109,7 @@
#endif
.dontVTSwitch = FALSE,
.dontZap = FALSE,
+ .ZapWarning = TRUE,
.dontZoom = FALSE,
.notrapSignals = FALSE,
.caughtSignal = FALSE,
--- xorg-server-1.7.99/hw/xfree86/common/xf86Privstr.h
+++ xorg-server-1.7.99/hw/xfree86/common/xf86Privstr.h
@@ -67,6 +67,7 @@
#endif
Bool dontVTSwitch;
Bool dontZap;
+ Bool ZapWarning;
Bool dontZoom;
Bool notrapSignals; /* don't exit cleanly - die at fault */
Bool caughtSignal;
--- xorg-server-1.7.99/hw/xfree86/doc/man/Xorg.man.pre
+++ xorg-server-1.7.99/hw/xfree86/doc/man/Xorg.man.pre
@@ -438,7 +438,7 @@
.B Ctrl+Alt+Backspace
Immediately kills the server -- no questions asked. It can be disabled by
setting the
-.B DontZap
+.B DontZap/ZapWarning
__xconfigfile__(__filemansuffix__) file option to a TRUE value.
.PP
.RS 8
--- xorg-server-1.7.99/hw/xfree86/doc/man/xorg.conf.man.pre
+++ xorg-server-1.7.99/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -507,6 +507,13 @@
When this option is enabled, the action has no effect.
Default: off.
.TP 7
+.BI "Option \*qZapWarning\*q \*q" boolean \*q
+This warns the user loudly when the
+.B Ctrl+Alt+Backspace
+sequence is pressed for the first time but still terminates the __xservername__
+server when this key-sequence is pressed again shortly after.
+Default: on.
+.TP 7
.BI "Option \*qDontZoom\*q \*q" boolean \*q
This disallows the use of the
.B Ctrl+Alt+Keypad\-Plus