History log of /haiku/src/bin/screen_blanker/ScreenBlanker.h
Revision Date Author Comments
# e4e2ce4c 09-Dec-2014 Puck Meerburg <puck@puckipedia.nl>

When testing screensaver, don't have mouse move exit the screen saver.

Fixes #7463

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>


# d34a680c 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: fix race condition

Start the screensaver in the window thread instead of the runner
thread so that there is no lock contention for the window lock in
the runner thread when the saver starts.

The view that gets drawn into is assumed to have been prepared before
being passed to the runner thread, and this assumption has been made
true for the screensaver preview and screen_blanker apps.

Eliminate fHasStarted and the corresponding HasStarted() method in
ScreenSaverRunner as they are no longer needed.

Drawing still happens in the runner thread, and still needs to lock
the window thread potentially causing contention, yet, there
is a timeout here so the contention won't freeze the screensaver window,
only delay drawing the screensaver.

Drawing could be moved to the window thread via message passing to avoid
lock contention with the window but this would defeat a big part of the
purpose of having a separate rendering thread.

This fixes #10125 and #4260


# 0f1162d2 14-Nov-2013 John Scipione <jscipione@gmail.com>

ScreenSaver: Make sure password window is shown

… before resuming the saver on B_KEY_DOWN in the message filter.

It was assumed before, now we’re actually checking to make sure.


# e22c01af 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: style fixes


# 0834f79c 14-Mar-2009 Ryan Leavengood <leavengood@gmail.com>

An Esc pressed while the password window is showing will close it and resume
the screen saver.

I added this to the filter in the ScreenSaverWindow instead of the
PasswordWindow to avoid having to add another BMessageFilter. It already is
getting all keydowns anyhow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29521 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41158aaf 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Renamed the ScreenSaverPrefs class to the more Be-like ScreenSaverSettings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17755 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af55bae2 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Implemented DPMS support.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17754 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cae4a1e 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Big time cleanup of the screen saver stuff, not yet finished yet, though.
Renamed lots of things, like ScreenSaverThread to ScreenSaverRunner,
refactored code, etc. Much cleaner interfaces and code.
* Fixed a couple of bugs and in the add-on handling, especially some settings
related bugs (ie. testing a screen saver will now use its latest settings,
etc.).
* Correctly implemented DPMS support in ScreenSaverPrefs and the ScreenSaver
preferences application - screen_blanker still ignores them, though.
* It's not yet font sensitive either.
* Changed the input_server add-on to not switch to the screen blanker immediately
when it's in the "blank corner" - doesn't seem to work yet, though (only tested
under Qemu).
* Correctly implemented the "preview" function (before, a screen saver would
never know it rendered a preview).
* Evaluates the return value of BScreenSaver::StartSaver().
* The screen saver thread is no longer killed without notice - it's now
always shut down properly.
* Made the code more robust against failure.
* Introduced some new bugs as well (the screen saver list view doesn't jump to
the selection anymore, for some reason), those will be fixed later (as the
remaining issues).
* Probably some more I forgot about.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e4e2ce4ce38546193ddab428b32a654447a07e19 09-Dec-2014 Puck Meerburg <puck@puckipedia.nl>

When testing screensaver, don't have mouse move exit the screen saver.

Fixes #7463

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>


# d34a680c043c72bae01662cc730ca81cb4cd2615 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: fix race condition

Start the screensaver in the window thread instead of the runner
thread so that there is no lock contention for the window lock in
the runner thread when the saver starts.

The view that gets drawn into is assumed to have been prepared before
being passed to the runner thread, and this assumption has been made
true for the screensaver preview and screen_blanker apps.

Eliminate fHasStarted and the corresponding HasStarted() method in
ScreenSaverRunner as they are no longer needed.

Drawing still happens in the runner thread, and still needs to lock
the window thread potentially causing contention, yet, there
is a timeout here so the contention won't freeze the screensaver window,
only delay drawing the screensaver.

Drawing could be moved to the window thread via message passing to avoid
lock contention with the window but this would defeat a big part of the
purpose of having a separate rendering thread.

This fixes #10125 and #4260


# 0f1162d27e35f133e86a93b8a7effeec3e34f20f 14-Nov-2013 John Scipione <jscipione@gmail.com>

ScreenSaver: Make sure password window is shown

… before resuming the saver on B_KEY_DOWN in the message filter.

It was assumed before, now we’re actually checking to make sure.


# e22c01af030d33e53e6bbde56e331dd8cd7de097 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: style fixes


# 0834f79c8ce6e973204ff08a16ffaa3e97d8a1ff 14-Mar-2009 Ryan Leavengood <leavengood@gmail.com>

An Esc pressed while the password window is showing will close it and resume
the screen saver.

I added this to the filter in the ScreenSaverWindow instead of the
PasswordWindow to avoid having to add another BMessageFilter. It already is
getting all keydowns anyhow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29521 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41158aaf918229a36e911666a32573bb633196ea 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Renamed the ScreenSaverPrefs class to the more Be-like ScreenSaverSettings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17755 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af55bae2f690f138d18dc982b7535840bd12b805 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Implemented DPMS support.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17754 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cae4a1ee0a7e8f1214e6fa410efe9f5a0c7cecb 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Big time cleanup of the screen saver stuff, not yet finished yet, though.
Renamed lots of things, like ScreenSaverThread to ScreenSaverRunner,
refactored code, etc. Much cleaner interfaces and code.
* Fixed a couple of bugs and in the add-on handling, especially some settings
related bugs (ie. testing a screen saver will now use its latest settings,
etc.).
* Correctly implemented DPMS support in ScreenSaverPrefs and the ScreenSaver
preferences application - screen_blanker still ignores them, though.
* It's not yet font sensitive either.
* Changed the input_server add-on to not switch to the screen blanker immediately
when it's in the "blank corner" - doesn't seem to work yet, though (only tested
under Qemu).
* Correctly implemented the "preview" function (before, a screen saver would
never know it rendered a preview).
* Evaluates the return value of BScreenSaver::StartSaver().
* The screen saver thread is no longer killed without notice - it's now
always shut down properly.
* Made the code more robust against failure.
* Introduced some new bugs as well (the screen saver list view doesn't jump to
the selection anymore, for some reason), those will be fixed later (as the
remaining issues).
* Probably some more I forgot about.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17731 a95241bf-73f2-0310-859d-f6bbb57e9c96