Add error checking in mjs_setFrame.
Also raise error if the frame is not found in the mjCBody copy constructor. Fixes #2543. PiperOrigin-RevId: 742624013 Change-Id: I4999b3165c97f8d079412214d027ca7a8dae8cb3
This commit is contained in:
committed by
Copybara-Service
parent
ebd30493c8
commit
86c970bc23
@@ -758,13 +758,19 @@ mjsFrame* mjs_findFrame(mjSpec* s, const char* name) {
|
||||
|
||||
|
||||
// set frame
|
||||
void mjs_setFrame(mjsElement* dest, mjsFrame* frame) {
|
||||
int mjs_setFrame(mjsElement* dest, mjsFrame* frame) {
|
||||
if (!frame) {
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
mjCFrame* frameC = static_cast<mjCFrame*>(frame->element);
|
||||
mjCBase* baseC = static_cast<mjCBase*>(dest);
|
||||
baseC->SetFrame(frameC);
|
||||
try {
|
||||
baseC->SetFrame(frameC);
|
||||
return 0;
|
||||
} catch (mjCError& e) {
|
||||
baseC->model->SetError(e);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user