Bugzilla – Attachment 116761 Details for
Bug 197858
X server wakes up on any ACPI event
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Forgot Password
[patch]
Fix
diff.DPMS (text/plain), 2.89 KB, created by
Egbert Eich
on 2007-02-01 09:52:58 UTC
(
hide
)
Description:
Fix
Filename:
MIME Type:
Creator:
Egbert Eich
Created:
2007-02-01 09:52:58 UTC
Size:
2.89 KB
patch
obsolete
>--- os/WaitFor.c.orig 2007-01-26 15:53:27.000000000 +0100 >+++ os/WaitFor.c 2007-01-29 11:24:14.000000000 +0100 >@@ -144,6 +144,7 @@ static OsTimerPtr timers = NULL; > * For more info on ClientsWithInput, see ReadRequestFromClient(). > * pClientsReady is an array to store ready client->index values into. > *****************/ >+volatile fd_set tmp_set; > > int > WaitForSomething(int *pClientsReady) >@@ -298,10 +299,9 @@ WaitForSomething(int *pClientsReady) > if (expired) > return 0; > } >- } >+ } > else >- { >- fd_set tmp_set; >+ { > > if (*checkForInput[0] == *checkForInput[1]) { > if (timers) >@@ -338,7 +338,8 @@ WaitForSomething(int *pClientsReady) > QueueWorkProc(EstablishNewConnections, NULL, > (pointer)&LastSelectMask); > #ifdef DPMSExtension >- if (XFD_ANYSET (&devicesReadable) && (DPMSPowerLevel != DPMSModeOn)) >+ XFD_ANDSET(&tmp_set, &devicesReadable, &EnabledDevices); >+ if (XFD_ANYSET (&tmp_set) && (DPMSPowerLevel != DPMSModeOn)) > DPMSSet(DPMSModeOn); > #endif > if (XFD_ANYSET (&devicesReadable) || XFD_ANYSET (&clientsReadable)) >--- hw/xfree86/common/xf86Events.c.orig_1 2007-02-01 10:18:02.000000000 +0100 >+++ hw/xfree86/common/xf86Events.c 2007-02-01 10:43:54.000000000 +0100 >@@ -164,6 +164,7 @@ typedef struct x_IHRec { > InputHandlerProc ihproc; > pointer data; > Bool enabled; >+ Bool is_input; > struct x_IHRec * next; > } IHRec, *IHPtr; > >@@ -1526,8 +1527,12 @@ xf86VTSwitch() > for (i = 0; i < xf86NumScreens; i++) > xf86Screens[i]->LeaveVT(i, 0); > >- for (ih = InputHandlers; ih; ih = ih->next) >- xf86DisableInputHandler(ih); >+ for (ih = InputHandlers; ih; ih = ih->next) { >+ if (ih->is_input) >+ xf86DisableInputHandler(ih); >+ else >+ xf86DisableGeneralHandler(ih); >+ } > xf86AccessLeave(); /* We need this here, otherwise */ > xf86AccessLeaveState(); /* console won't be restored */ > >@@ -1563,9 +1568,12 @@ xf86VTSwitch() > pInfo = pInfo->next; > } > #endif /* !__UNIXOS2__ */ >- for (ih = InputHandlers; ih; ih = ih->next) >- xf86EnableInputHandler(ih); >- >+ for (ih = InputHandlers; ih; ih = ih->next) { >+ if (ih->is_input) >+ xf86EnableInputHandler(ih); >+ else >+ xf86EnableGeneralHandler(ih); >+ } > xf86UnblockSIGIO(prevSIGIO); > > } else { >@@ -1626,8 +1634,12 @@ xf86VTSwitch() > } > #endif /* !__UNIXOS2__ */ > >- for (ih = InputHandlers; ih; ih = ih->next) >- xf86EnableInputHandler(ih); >+ for (ih = InputHandlers; ih; ih = ih->next) { >+ if (ih->is_input) >+ xf86EnableInputHandler(ih); >+ else >+ xf86EnableGeneralHandler(ih); >+ } > > xf86UnblockSIGIO(prevSIGIO); > } >@@ -1664,8 +1676,10 @@ xf86AddInputHandler(int fd, InputHandler > { > IHPtr ih = addInputHandler(fd, proc, data); > >- if (ih) >+ if (ih) { > AddEnabledDevice(fd); >+ ih->is_input = TRUE; >+ } > return ih; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 197858
:
105953
|
106208
|
106217
|
115856
| 116761