Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11804
Modified Files: Tag: devel_0_39 s_audio_portaudio.c m_glob.c m_class.c Log Message: xrun notification to receiver pd fixed memory leak introduced by alternate filenames
Index: m_class.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_class.c,v retrieving revision 1.3.4.7.2.17 retrieving revision 1.3.4.7.2.18 diff -C2 -d -r1.3.4.7.2.17 -r1.3.4.7.2.18 *** m_class.c 22 Apr 2006 01:33:15 -0000 1.3.4.7.2.17 --- m_class.c 13 Jun 2006 12:48:01 -0000 1.3.4.7.2.18 *************** *** 675,679 **** char dirbuf[MAXPDSTRING], *nameptr; char *altname=alternative_classname(s->s_name); ! if (tryingalready) return; newest = 0; class_loadsym = s; --- 675,684 ---- char dirbuf[MAXPDSTRING], *nameptr; char *altname=alternative_classname(s->s_name); ! if (tryingalready) ! { ! if (altname) ! freebytes(altname, sizeof(char)*MAXPDSTRING); ! return; ! } newest = 0; class_loadsym = s; *************** *** 683,686 **** --- 688,693 ---- typedmess((t_pd *)dummy, s, argc, argv); tryingalready = 0; + if (altname) + freebytes(altname, sizeof(char)*MAXPDSTRING); return; } *************** *** 704,707 **** --- 711,716 ---- } else newest = 0; + if (altname) + freebytes(altname, sizeof(char)*MAXPDSTRING); }
Index: s_audio_portaudio.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/s_audio_portaudio.c,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -C2 -d -r1.1.2.9 -r1.1.2.10 *** s_audio_portaudio.c 4 Jun 2006 10:37:33 -0000 1.1.2.9 --- s_audio_portaudio.c 13 Jun 2006 12:48:01 -0000 1.1.2.10 *************** *** 310,318 **** void run_all_idle_callbacks(void);
int process (const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags, void *userData) { ! static started = 0;
--- 310,320 ---- void run_all_idle_callbacks(void);
+ void sys_xrun_notification(void); + int process (const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags, void *userData) { ! static int started = 0;
*************** *** 321,331 ****
if (statusFlags) ! post("statusFlags %p", statusFlags);
if (sys_timedlock(timeout) == ETIMEDOUT) /* we're late */ { ! post("timeout %d", timeout); ! sys_log_error(ERR_SYSLOCK); return 0; } --- 323,332 ----
if (statusFlags) ! sys_xrun_notification();
if (sys_timedlock(timeout) == ETIMEDOUT) /* we're late */ { ! sys_xrun_notification(); return 0; }
Index: m_glob.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_glob.c,v retrieving revision 1.4.4.2.2.7 retrieving revision 1.4.4.2.2.8 diff -C2 -d -r1.4.4.2.2.7 -r1.4.4.2.2.8 *** m_glob.c 22 Apr 2006 00:43:40 -0000 1.4.4.2.2.7 --- m_glob.c 13 Jun 2006 12:48:01 -0000 1.4.4.2.2.8 *************** *** 82,85 **** --- 82,87 ---- if (s == gensym("audiodevice")) return; + if (s == gensym("xrun")) + return;
startpost("%s: unknown message %s ", class_getname(pd_class(x)), *************** *** 200,204 **** gensym("testaudiosetting"), A_GIMME, 0); class_addmethod(glob_pdobject, (t_method)glob_audio_getcurrent_devices, ! gensym("getaudiodevice"), 0); /* tb } */ #ifdef DESIRE --- 202,206 ---- gensym("testaudiosetting"), A_GIMME, 0); class_addmethod(glob_pdobject, (t_method)glob_audio_getcurrent_devices, ! gensym("getaudiodevice"), 0); /* tb } */ #ifdef DESIRE