fix PixelGrid leaking memory

pull/5/head
Oona 2013-04-21 10:58:37 +03:00
rodzic 45b63af527
commit ada8c66f12
3 zmienionych plików z 12 dodań i 8 usunięć

Wyświetl plik

@ -11,7 +11,7 @@ OBJECTS = common.o modespec.o gui.o video.o vis.o sync.o pcm.o fsk.o slowrx.o
all: slowrx
slowrx: $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $(OBJECTS) $(GTKLIBS) -lfftw3 -lgthread-2.0 -lasound -lm
$(CC) $(CFLAGS) -o $@ $(OBJECTS) $(GTKLIBS) -lfftw3 -lgthread-2.0 -lasound -lm -lpthread
%.o: %.c common.h
$(CC) $(CFLAGS) $(GTKCFLAGS) $(OFLAGS) -c -o $@ $<

12
gui.c
Wyświetl plik

@ -108,9 +108,9 @@ void setVU (double *Power, int FFTLen, int WinIdx, gboolean ShowWin) {
pSNR[1] = 0xe4;
pSNR[2] = 0x84;
} else {
pSNR[0] = 0x00;
pSNR[1] = 0x50;
pSNR[2] = 0x30;
pSNR[0] = 0x20;
pSNR[1] = 0x20;
pSNR[2] = 0x20;
}
} else {
if (y > 3 && y < H-3 && (W-1-x) % 16 >3 && x % 2 == 0) {
@ -131,9 +131,9 @@ void setVU (double *Power, int FFTLen, int WinIdx, gboolean ShowWin) {
pPWR[0] = pPWR[1] = pPWR[2] = 0;
if (logpow > p) {
pPWR[0] = clip(pPWR[0] + 0x22 * (logpow-p) / (HiBin-LoBin+1));
pPWR[1] = clip(pPWR[1] + 0x66 * (logpow-p) / (HiBin-LoBin+1));
pPWR[2] = clip(pPWR[2] + 0x22 * (logpow-p) / (HiBin-LoBin+1));
pPWR[0] = 0;//clip(pPWR[0] + 0x22 * (logpow-p) / (HiBin-LoBin+1));
pPWR[1] = 192;//clip(pPWR[1] + 0x66 * (logpow-p) / (HiBin-LoBin+1));
pPWR[2] = 64;//clip(pPWR[2] + 0x22 * (logpow-p) / (HiBin-LoBin+1));
}
/*if (ShowWin && LoBin >= GetBin(1200+CurrentPic.HedrShift, FFTLen) &&

Wyświetl plik

@ -398,12 +398,16 @@ gboolean GetVideo(guchar Mode, double Rate, int Skip, gboolean Redraw) {
setVU(Power, FFTLen, WinIdx, TRUE);
}
if (Abort) return FALSE;
if (Abort) {
free(PixelGrid);
return FALSE;
}
pcm.WindowPtr ++;
}
free(PixelGrid);
return TRUE;
}