Preferences dialog settings are not persistent
None of the settings in the preferences dialog seem to stick across invocations for me. In particular:
Applyon the GUI tab does not save the GUI theme setting in ~/.pd-l2ork/gui_theme, nor is the setting read from that file at program startup, as mainline pd-l2ork does.
The audio api setting doesn't seem to stick either. I can change, e.g., from
JACK, then press
Okto use Jack while purr-data is running, but pressing
Applydoesn't seem to do anything, unlike mainline pd-l2ork where it records that setting in the user settings file .
Apply button supposed to do anything in purr-data, other than what
Ok does? If not then maybe it should be removed?
Also, in some (as yet not completely identified) circumstances I'm getting a segfault when clicking
Apply in the dialog. This is almost 100% reproducible on Arch for me (using Jack at least), but I can hardly reproduce it on Ubuntu 16.04, so this might well be some Arch-specific library incompatibility (it's never happened to me with mainline pd-l2ork, though). I can reproduce this on Arch by just launching purr-data, opening Edit/Preferences, clicking
Apply and then
Close => segfault.
Here's the terminal output starting at that point, including the backtrace.
ALSA lib seq_hw.c:50:(snd_seq_hw_close) close failed : Bad file descriptor *** Error in `pd-l2ork': double free or corruption (!prev): 0x0000000002226650 *** ======= Backtrace: ========= /usr/lib/libc.so.6(+0x6ed4b)[0x7f53517e0d4b] /usr/lib/libc.so.6(+0x74546)[0x7f53517e6546] /usr/lib/libc.so.6(+0x74d1e)[0x7f53517e6d1e] /usr/lib/libasound.so.2(snd_seq_close+0x2d)[0x7f5352f429bd] pd-l2ork(sys_alsa_close_midi+0x29)[0x511bb9] pd-l2ork(glob_midi_dialog+0x15a)[0x4aebca] pd-l2ork(pd_typedmess+0x3a8)[0x493dd8] pd-l2ork(binbuf_eval+0xe56)[0x49ca26] pd-l2ork(socketreceiver_read+0xac)[0x4a363c] pd-l2ork[0x4a297b] pd-l2ork(sys_pollgui+0xb)[0x4a527b] pd-l2ork(m_mainloop+0x46e)[0x49fc4e] pd-l2ork(sys_main+0x250)[0x4a23e0] /usr/lib/libc.so.6(__libc_start_main+0xf1)[0x7f5351792741] pd-l2ork(_start+0x29)[0x417c59]