From 2e717a555727bef3c08450576426c2a1d7b07dda Mon Sep 17 00:00:00 2001 From: qwx Date: Sun, 20 May 2018 16:47:41 +0200 Subject: [PATCH] camv: fix leak on resize --- sys/src/cmd/camv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/src/cmd/camv.c b/sys/src/cmd/camv.c index f3977fe7c..ab22803a8 100644 --- a/sys/src/cmd/camv.c +++ b/sys/src/cmd/camv.c @@ -39,8 +39,9 @@ emalloc(ulong n) void screeninit(void) { - bg = allocimage(display, Rect(0, 0, 1, 1), screen->chan, 1, 0xCCCCCCFF); + freescreen(scr); scr = allocscreen(screen, bg, 0); + freeimage(disp); disp = allocwindow(scr, screen->r, 0, 0xCCCCCCFF); draw(screen, screen->r, bg, nil, ZP); flushimage(display, 1); @@ -225,6 +226,7 @@ threadmain(int argc, char **argv) if(initdraw(nil, nil, "camv") < 0) sysfatal("initdraw: %r"); + bg = allocimage(display, Rect(0, 0, 1, 1), screen->chan, 1, 0xCCCCCCFF); screeninit(); kc = initkeyboard(nil); if(kc == nil) sysfatal("initkeyboard: %r"); -- 2.44.0