[Portland-bugs] [Bug 23119] New: "xdg-screensaver suspend" Can Cause Screen Burn-in When Display Never Sleeps Anymore
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Aug 3 13:15:53 PDT 2009
http://bugs.freedesktop.org/show_bug.cgi?id=23119
Summary: "xdg-screensaver suspend" Can Cause Screen Burn-in When
Display Never Sleeps Anymore
Product: Portland
Version: 1.0
Platform: x86 (IA32)
OS/Version: Linux (All)
Status: NEW
Severity: major
Priority: high
Component: xdg-utils
AssignedTo: portland-bugs at lists.freedesktop.org
ReportedBy: dyek at real.com
"xdg-screensaver suspend" Can Cause Screen Burn-in When Display Never Sleeps
Anymore After An Application Used "xdg-screensaver suspend" And was Then
Killed.
"xdg-screensaver suspend" was designed to stop when the window it monitored
vanished, and thus allowing the ScreenSaver to resume and allowing the
monitor/display to go back to sleep when the session became idle.
However, monitor-window-and-quit functionality is not working, causing displays
to never sleep if an application using "xdg-screensaver suspend" was killed.
The effect of this bug is, potentially, very bad, so I'm hoping that this issue
can be addressed.
I don't know how this bug happened, but I can speculate a few possibilities:
(1) The "monitor-window-and-quit" functionality was initially working during
the initial development, but forking to background xdg-screensaver process
feature was added later (pure speculation as I don't know have code history)
and since now the xdg-screensaver is no longer a child process, it is not
killed when the application exited.
(2) "xprop -id <window id> -spy" used to receive window event and quitted when
the monitored window vanished. xprop is no longer subscribing to the window
event.
If this is the case, maybe xprop.c's:
XSelectInput(dpy, target_win, PropertyChangeMask);
needs to be changed to:
XSelectInput(dpy, target_win, StructureNotifyMask | PropertyChangeMask);
for it to be notified about the window deletion!
REPRO. STEPS:
(Just vague repro. steps for now.)
1. Create a HelloWorld GUI application.
2. Calls "xdg-screensaver suspend <The App.'s Main Window ID>" from the
application.
3. Kill the application.
4. Observe that xdg-screensaver and xprop don't quit and the display can suffer
burn-in.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Portland-bugs
mailing list