Preferences dialog settings are not persistent
None of the settings in the preferences dialog seem to stick across invocations for me. In particular:
-
Clicking
Apply
on 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
ALSA
toJACK
, then pressOk
to use Jack while purr-data is running, but pressingApply
doesn't seem to do anything, unlike mainline pd-l2ork where it records that setting in the user settings file .
Is the 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]