BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

commit 1d88a3e0e94542acf8ac95892ce1ff39b68424f3
parent 5f24046812bde5a33a4d1d74582559782cde6277
Author: Matt Demanett <matt@demanett.net>
Date:   Sat, 23 Oct 2021 14:56:03 -0400

Rack2: fix crash in Mono on render with null module. #185

Diffstat:
Msrc/Mono.cpp | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/Mono.cpp b/src/Mono.cpp @@ -68,10 +68,15 @@ struct MonoWidget : BGModuleWidget { } void draw(const DrawArgs& args) override { + int active = 0; + if (_module) { + active = _module->_activeChannels; + } + nvgSave(args.vg); - for (int i = 0; i < _module->maxChannels; ++i) { + for (int i = 0; i < Mono::maxChannels; ++i) { nvgBeginPath(args.vg); - if (i >= _module->_activeChannels) { + if (i >= active) { nvgCircle(args.vg, (i % 4) * 10 + 5.0f, (i / 4) * 10 + 5.0f, 3.2f); nvgFillColor(args.vg, inactiveBgColor); nvgFill(args.vg); @@ -81,8 +86,9 @@ struct MonoWidget : BGModuleWidget { } void drawLit(const DrawArgs& args) override { + assert(_module); nvgSave(args.vg); - for (int i = 0; i < _module->maxChannels; ++i) { + for (int i = 0; i < Mono::maxChannels; ++i) { nvgBeginPath(args.vg); if (i < _module->_activeChannels) { nvgCircle(args.vg, (i % 4) * 10 + 5.0f, (i / 4) * 10 + 5.0f, 3.2f);