diff --git a/wpilibc/src/main/native/include/frc/shuffleboard/SuppliedValueWidget.h b/wpilibc/src/main/native/include/frc/shuffleboard/SuppliedValueWidget.h index ae69ab434f..4f82dc6119 100644 --- a/wpilibc/src/main/native/include/frc/shuffleboard/SuppliedValueWidget.h +++ b/wpilibc/src/main/native/include/frc/shuffleboard/SuppliedValueWidget.h @@ -36,12 +36,16 @@ class SuppliedValueWidget : public ShuffleboardWidget> { void BuildInto(std::shared_ptr parentTable, std::shared_ptr metaTable) override { this->BuildMetadata(metaTable); - m_controllablePub = - nt::BooleanTopic{metaTable->GetTopic("Controllable")}.Publish(); - m_controllablePub.Set(false); + if (!m_controllablePub) { + m_controllablePub = + nt::BooleanTopic{metaTable->GetTopic("Controllable")}.Publish(); + m_controllablePub.Set(false); + } - m_entry = - parentTable->GetTopic(this->GetTitle()).GenericPublish(m_typeString); + if (!m_entry) { + m_entry = + parentTable->GetTopic(this->GetTitle()).GenericPublish(m_typeString); + } m_setter(m_entry, m_supplier()); } diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/SuppliedValueWidget.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/SuppliedValueWidget.java index 3ab8b1e308..355f483688 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/SuppliedValueWidget.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/SuppliedValueWidget.java @@ -48,10 +48,14 @@ public final class SuppliedValueWidget extends ShuffleboardWidget