Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
RobWork
RobWork
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 20
    • Issues 20
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Requirements
    • Requirements
    • List
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards
  • SDU Robotics
  • RobWorkRobWork
  • Issues
  • #47

Closed
Open
Opened Aug 06, 2018 by Adam Wolniakowski@dagotharReporter

RobWorkStudio settings are not saved properly

rwsettings.xml file is not saved on closing RobWorkStudio. Consequently it is impossible to set up e.g. plugin placement in the main window.

The issue is because of an exception thrown in DOMPropertyMapSaver.cpp: RW_THROW("The property type is unknown and therefore not supported!");

One of the properties is apparently of an Uknown type and the saving process is terminated upon encountering it. Temporary fix is to remove RW_THROWs or replace them with RW_WARNs, e.g.:

--- DOMPropertyMapSaver.cpp lines 40 to 60 --- void DOMPropertyMapSaver::save(const PropertyBase::Ptr property, DOMElem::Ptr parent) { //if (property->getType().getId() == PropertyType::Unknown) { // RW_THROW("The property type is unknown and therefore not supported!"); //}

DOMElem::Ptr root = parent->addChild(DOMPropertyMapFormat::idProperty());
DOMElem::Ptr element = DOMBasisTypes::createElement(DOMPropertyMapFormat::idPropertyName(), property->getIdentifier(), root);

if (!property->getDescription().empty()) {
    element = DOMBasisTypes::createElement(DOMPropertyMapFormat::idPropertyDescription(), property->getDescription(), root);
}

element = root->addChild(DOMPropertyMapFormat::idPropertyValue());
switch (property->getType().getId()) {
case PropertyType::Unknown:
    //RW_THROW("The property type is unknown and therefore not supported! Seeing this message means there is a bug within the function throwing this!");
    break;
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: sdurobotics/RobWork#47