summaryrefslogtreecommitdiff
path: root/libs/surfaces/control_protocol
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/control_protocol')
-rw-r--r--libs/surfaces/control_protocol/control_protocol.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc
index ac244860b1..edcc06b23a 100644
--- a/libs/surfaces/control_protocol/control_protocol.cc
+++ b/libs/surfaces/control_protocol/control_protocol.cc
@@ -328,8 +328,8 @@ ControlProtocol::get_state ()
{
XMLNode* node = new XMLNode (state_node_name);
- node->add_property ("name", _name);
- node->add_property ("feedback", get_feedback() ? "yes" : "no");
+ node->set_property ("name", _name);
+ node->set_property ("feedback", get_feedback());
return *node;
}
@@ -337,10 +337,9 @@ ControlProtocol::get_state ()
int
ControlProtocol::set_state (XMLNode const & node, int /* version */)
{
- const XMLProperty* prop;
-
- if ((prop = node.property ("feedback")) != 0) {
- set_feedback (string_is_affirmative (prop->value()));
+ bool feedback;
+ if (node.get_property ("feedback", feedback)) {
+ set_feedback (feedback);
}
return 0;