@@ -75,8 +75,11 @@ void StatisticVisualizerBase::initialize(int stage)
7575 opacity = par (" opacity" );
7676 placementHint = parsePlacement (par (" placementHint" ));
7777 placementPriority = par (" placementPriority" );
78- if (displayStatistics)
78+ if (displayStatistics) {
79+ if (opp_isempty (signalName))
80+ throw cRuntimeError (" The signalName parameter must be not empty" );
7981 subscribe ();
82+ }
8083 }
8184}
8285
@@ -92,18 +95,15 @@ void StatisticVisualizerBase::handleParameterChange(const char *name)
9295
9396void StatisticVisualizerBase::subscribe ()
9497{
95- if (*signalName != ' \0 ' )
96- visualizationSubjectModule->subscribe (registerSignal (signalName), this );
98+ visualizationSubjectModule->subscribe (registerSignal (signalName), this );
9799}
98100
99101void StatisticVisualizerBase::unsubscribe ()
100102{
101103 // NOTE: lookup the module again because it may have been deleted first
102104 auto visualizationSubjectModule = findModuleFromPar<cModule>(par (" visualizationSubjectModule" ), this );
103- if (visualizationSubjectModule != nullptr ) {
104- if (*signalName != ' \0 ' )
105- visualizationSubjectModule->unsubscribe (registerSignal (signalName), this );
106- }
105+ if (visualizationSubjectModule != nullptr )
106+ visualizationSubjectModule->unsubscribe (registerSignal (signalName), this );
107107}
108108
109109void StatisticVisualizerBase::addResultRecorder (cComponent *source, simsignal_t signal)
0 commit comments