uterm_video: take ref-cnt of display in screen object
Inside a screen object we are independent of the lifetime of the displays so we need to correctly keep references to them. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
parent
25f41f84f7
commit
4cc8eadd40
@ -79,6 +79,7 @@ int uterm_screen_new_single(struct uterm_screen **out,
|
|||||||
screen->ref = 1;
|
screen->ref = 1;
|
||||||
screen->disp = disp;
|
screen->disp = disp;
|
||||||
|
|
||||||
|
uterm_display_ref(screen->disp);
|
||||||
*out = screen;
|
*out = screen;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -96,6 +97,7 @@ void uterm_screen_unref(struct uterm_screen *screen)
|
|||||||
if (!screen || !screen->ref || --screen->ref)
|
if (!screen || !screen->ref || --screen->ref)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
uterm_display_unref(screen->disp);
|
||||||
free(screen);
|
free(screen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user