diff options
author | qwx <devnull@localhost> | 2018-05-20 16:47:41 +0200 |
---|---|---|
committer | qwx <devnull@localhost> | 2018-05-20 16:47:41 +0200 |
commit | 2e717a555727bef3c08450576426c2a1d7b07dda (patch) | |
tree | d47b5322907b30f157acd1fa5ea520d590edb02f | |
parent | 1f8d347c92a948bafde638c4864bc46096058dd3 (diff) | |
download | plan9front-2e717a555727bef3c08450576426c2a1d7b07dda.tar.xz |
camv: fix leak on resize
-rw-r--r-- | sys/src/cmd/camv.c | 4 |
1 files changed, 3 insertions, 1 deletions
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"); |