diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2013-10-23 13:45:18 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2013-10-23 13:45:18 +0200 |
commit | cdd87983a0b8e026917b167a601d594ded29427d (patch) | |
tree | 62b3ac2cc3845ea8882dd31d89c8777b9b16a709 | |
parent | 709cece8834c11b4ed83c9aa9a45385a4fb07740 (diff) | |
download | kmscon-cdd87983a0b8e026917b167a601d594ded29427d.tar.gz kmscon-cdd87983a0b8e026917b167a601d594ded29427d.tar.bz2 kmscon-cdd87983a0b8e026917b167a601d594ded29427d.zip |
dummy: redraw on display-refresh
If we get a display-refresh event, redraw the screen. Otherwise, we might
stay blank during VT switches if we get a delayed set-master.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
-rw-r--r-- | src/kmscon_dummy.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/kmscon_dummy.c b/src/kmscon_dummy.c index df8ecb2..9d9b5b0 100644 --- a/src/kmscon_dummy.c +++ b/src/kmscon_dummy.c @@ -92,6 +92,17 @@ static int dummy_session_event(struct kmscon_session *session, break; } break; + case KMSCON_SESSION_DISPLAY_REFRESH: + shl_dlist_for_each(iter, &dummy->displays) { + d = shl_dlist_entry(iter, struct display, list); + if (d->disp != ev->disp) + continue; + + if (dummy->active) + dummy_redraw(dummy, d); + break; + } + break; case KMSCON_SESSION_ACTIVATE: dummy->active = true; shl_dlist_for_each(iter, &dummy->displays) { |