mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
LP-388 allow to bulk set data on UAVO without emitting update events
this addresses some uavo synchronous update calls issues where update requests were issued twice
This commit is contained in:
parent
11cb9f7b8d
commit
daba66d32f
@ -102,9 +102,9 @@ $(NAME)::DataFields $(NAME)::getData()
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the object data fields
|
||||
* Set the object data fields and (optionaly) emit object update events
|
||||
*/
|
||||
void $(NAME)::setData(const DataFields& data)
|
||||
void $(NAME)::setData(const DataFields& data, bool emitUpdateEvents)
|
||||
{
|
||||
QMutexLocker locker(mutex);
|
||||
// Get metadata
|
||||
@ -112,8 +112,10 @@ void $(NAME)::setData(const DataFields& data)
|
||||
// Update object if the access mode permits
|
||||
if (UAVObject::GetGcsAccess(mdata) == ACCESS_READWRITE) {
|
||||
this->data_ = data;
|
||||
emit objectUpdatedAuto(this); // trigger object updated event
|
||||
emit objectUpdated(this);
|
||||
if (emitUpdateEvents) {
|
||||
emit objectUpdatedAuto(this); // trigger object updated event
|
||||
emit objectUpdated(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@ $(DATAFIELDINFO)
|
||||
$(NAME)();
|
||||
|
||||
DataFields getData();
|
||||
void setData(const DataFields& data);
|
||||
void setData(const DataFields& data, bool emitUpdateEvents = true);
|
||||
Metadata getDefaultMetadata();
|
||||
UAVDataObject* clone(quint32 instID);
|
||||
UAVDataObject* dirtyClone();
|
||||
|
Loading…
x
Reference in New Issue
Block a user