summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2013-10-23 13:45:18 +0200
committerDavid Herrmann <dh.herrmann@gmail.com>2013-10-23 13:45:18 +0200
commitcdd87983a0b8e026917b167a601d594ded29427d (patch)
tree62b3ac2cc3845ea8882dd31d89c8777b9b16a709
parent709cece8834c11b4ed83c9aa9a45385a4fb07740 (diff)
downloadkmscon-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.c11
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) {