diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 1998-04-17 10:03:11 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 1998-04-17 10:03:11 +0000 |
commit | cc88e287a6843541e5efb461b268011304117c3a (patch) | |
tree | e77492891855f993f74e952696bb57c1de2a53d5 | |
parent | af139b98d43794da3205d458f625e32d47d2695d (diff) |
Stop the screensaver before switching consoles.
Notes
Notes:
svn path=/head/; revision=35248
-rw-r--r-- | sys/dev/syscons/syscons.c | 8 | ||||
-rw-r--r-- | sys/i386/isa/syscons.c | 8 | ||||
-rw-r--r-- | sys/isa/syscons.c | 8 |
3 files changed, 21 insertions, 3 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index dd251c6953bb..139760c58d0f 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.258 1998/04/04 16:26:53 yokota Exp $ + * $Id: syscons.c,v 1.259 1998/04/16 09:41:55 des Exp $ */ #include "sc.h" @@ -2532,11 +2532,17 @@ switch_scr(scr_stat *scp, u_int next_scr) return EINVAL; } } + /* delay switch if actively updating screen */ if (write_in_progress || blink_in_progress) { delayed_next_scr = next_scr+1; return 0; } + + /* Stop the screensaver */ + if (scrn_blanked > 0) + stop_scrn_saver(current_saver); + switch_in_progress = TRUE; old_scp = cur_console; new_scp = console[next_scr]; diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c index dd251c6953bb..139760c58d0f 100644 --- a/sys/i386/isa/syscons.c +++ b/sys/i386/isa/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.258 1998/04/04 16:26:53 yokota Exp $ + * $Id: syscons.c,v 1.259 1998/04/16 09:41:55 des Exp $ */ #include "sc.h" @@ -2532,11 +2532,17 @@ switch_scr(scr_stat *scp, u_int next_scr) return EINVAL; } } + /* delay switch if actively updating screen */ if (write_in_progress || blink_in_progress) { delayed_next_scr = next_scr+1; return 0; } + + /* Stop the screensaver */ + if (scrn_blanked > 0) + stop_scrn_saver(current_saver); + switch_in_progress = TRUE; old_scp = cur_console; new_scp = console[next_scr]; diff --git a/sys/isa/syscons.c b/sys/isa/syscons.c index dd251c6953bb..139760c58d0f 100644 --- a/sys/isa/syscons.c +++ b/sys/isa/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.258 1998/04/04 16:26:53 yokota Exp $ + * $Id: syscons.c,v 1.259 1998/04/16 09:41:55 des Exp $ */ #include "sc.h" @@ -2532,11 +2532,17 @@ switch_scr(scr_stat *scp, u_int next_scr) return EINVAL; } } + /* delay switch if actively updating screen */ if (write_in_progress || blink_in_progress) { delayed_next_scr = next_scr+1; return 0; } + + /* Stop the screensaver */ + if (scrn_blanked > 0) + stop_scrn_saver(current_saver); + switch_in_progress = TRUE; old_scp = cur_console; new_scp = console[next_scr]; |