diff --git a/lib/vizkit/cplusplus_extensions/vizkit_widget.rb b/lib/vizkit/cplusplus_extensions/vizkit_widget.rb index 5a68261..4a0e136 100644 --- a/lib/vizkit/cplusplus_extensions/vizkit_widget.rb +++ b/lib/vizkit/cplusplus_extensions/vizkit_widget.rb @@ -324,8 +324,7 @@ def push_transformer_configuration(data) def listen_to_transformation_producer(trsf) return if @connected_transformation_producers.has_key?(trsf.producer) - task, *port = trsf.producer.split('.') - port = port.join(".") + task, _, port = trsf.producer.rpartition('.') Vizkit.debug "connecting producer task #{task}, port #{port} for #{trsf.from} => #{trsf.to}" producer_name = task.gsub(/.*\//, '') Vizkit.connect_port_to producer_name, port do |data, port_name| diff --git a/lib/vizkit/widgets/task_inspector/task_inspector.rb b/lib/vizkit/widgets/task_inspector/task_inspector.rb index 9477191..23f3ff8 100644 --- a/lib/vizkit/widgets/task_inspector/task_inspector.rb +++ b/lib/vizkit/widgets/task_inspector/task_inspector.rb @@ -18,15 +18,18 @@ def self.create_widget(parent = nil) #populate widget menu Vizkit.default_loader.plugin_specs.keys.sort.each do |name| - # do not add qt base widgets - next if name[0] == "Q" && Qt.const_defined?(name[1..-1]) - action = form.menuWidgets.addAction(name) - action.connect SIGNAL("triggered()") do - w = Vizkit.default_loader.create_plugin name - w.show if w.respond_to?(:show) || w.kind_of?(Qt::Widget) + begin + # do not add qt base widgets + next if name[0] == "Q" && Qt.const_defined?(name[1..-1]) + action = form.menuWidgets.addAction(name) + action.connect SIGNAL("triggered()") do + w = Vizkit.default_loader.create_plugin name + w.show if w.respond_to?(:show) || w.kind_of?(Qt::Widget) + end + rescue + Vizkit.warn "#{name} widget could not been added" end end - form end