diff options
Diffstat (limited to 'src/CanvasModule.cpp')
-rw-r--r-- | src/CanvasModule.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/CanvasModule.cpp b/src/CanvasModule.cpp index 8d69218..d9e3c9c 100644 --- a/src/CanvasModule.cpp +++ b/src/CanvasModule.cpp @@ -70,18 +70,24 @@ CanvasModule::update_menu() bool has_in = false; bool has_out = false; for (const auto* p : *this) { - if (p->is_input()) { - has_in = true; - } else { - has_out = true; + if (p) { + if (p->is_input()) { + has_in = true; + } else { + has_out = true; + } + + if (has_in && has_out) { + break; + } } + } - if (has_in && has_out) { - _menu->items()[0].show(); // Show "Split" menu item - return; - } + if (has_in && has_out) { + _menu->items()[0].show(); // Show "Split" menu item + } else { + _menu->items()[0].hide(); // Hide "Split" menu item } - _menu->items()[0].hide(); // Hide "Split" menu item } } |