diff options
Diffstat (limited to 'src/Structure.cpp')
| -rw-r--r-- | src/Structure.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Structure.cpp b/src/Structure.cpp index 872d396..cf7c611 100644 --- a/src/Structure.cpp +++ b/src/Structure.cpp | |||
| @@ -70,5 +70,20 @@ std::vector<char> Structure::ToBin() | |||
| 70 | return ret; | 70 | return ret; |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | void Structure::UpdateNodeParent(Node* node) | ||
| 74 | { | ||
| 75 | //Unlink node first | ||
| 76 | if ( NULL != node->_parent ) | ||
| 77 | { | ||
| 78 | plist_type type = plist_get_node_type(node->_parent); | ||
| 79 | if (PLIST_ARRAY ==type || PLIST_DICT == type ) | ||
| 80 | { | ||
| 81 | Structure* s = static_cast<Structure*>(node->_parent); | ||
| 82 | s->Remove(node); | ||
| 83 | } | ||
| 84 | } | ||
| 85 | node->_parent = this; | ||
| 86 | } | ||
| 87 | |||
| 73 | }; | 88 | }; |
| 74 | 89 | ||
