diff --git a/src/terminal.c b/src/terminal.c index 716546c..0773d5a 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -129,6 +129,12 @@ static int add_display(struct kmscon_terminal *term, struct uterm_display *disp) struct screen *scr; int ret; unsigned int width, height; + struct screen *iter; + + for (iter = term->screens; iter; iter = iter->next) { + if (iter->disp == disp) + return 0; + } scr = malloc(sizeof(*scr)); if (!scr)