From: qwx Date: Sun, 20 May 2018 14:47:41 +0000 (+0200) Subject: camv: fix leak on resize X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=2e717a555727bef3c08450576426c2a1d7b07dda;p=plan9front.git camv: fix leak on resize --- 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");