diff --git a/src/ui/blocks/ImPlotSink.hpp b/src/ui/blocks/ImPlotSink.hpp index b422246..f2fd9a0 100644 --- a/src/ui/blocks/ImPlotSink.hpp +++ b/src/ui/blocks/ImPlotSink.hpp @@ -14,8 +14,8 @@ namespace opendigitizer { template - requires std::is_floating_point_v || (meta::is_dataset_v && std::is_floating_point_v) -struct ImPlotSink : public gr::Block, gr::BlockingIO, gr::SupportedTypes, gr::Drawable> { +struct ImPlotSink : public gr::Block, + gr::BlockingIO, gr::SupportedTypes, gr::DataSet>, gr::Drawable> { gr::PortIn in; uint32_t color = 0xff0000; ///< RGB color for the plot // TODO use better type, support configurable colors for datasets? std::string signal_name; diff --git a/src/ui/flowgraph.cpp b/src/ui/flowgraph.cpp index d6c0ba8..6750ad2 100644 --- a/src/ui/flowgraph.cpp +++ b/src/ui/flowgraph.cpp @@ -482,12 +482,14 @@ static std::unique_ptr createGRBlock(gr::PluginLoader &loader, c auto params = block.parameters(); params["name"] = block.name; auto grBlock = loader.instantiate(block.typeName(), DataType::name(t)); - grBlock->settings().set(params); - grBlock->settings().applyStagedParameters(); if (!grBlock) { fmt::println(std::cerr, "Could not create GR Block for {} ({}<{}>)\n", block.name, block.typeName(), DataType::name(t)); + return nullptr; } + + grBlock->settings().set(params); + grBlock->settings().applyStagedParameters(); return grBlock; } } // namespace