Device: Fix ComponentVersion retrieval
parent
8dcbbe0d72
commit
87baa97c3f
|
|
@ -218,8 +218,7 @@ bool Device::open(OpenFlags flags, OpenStatusHandler handler) {
|
||||||
if(block) // Extensions say no
|
if(block) // Extensions say no
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Get component versions *after* the extension "onDeviceOpen" hooks (e.g. device reflashes)
|
// Get component versions again *after* the extension "onDeviceOpen" hooks (e.g. device reflashes)
|
||||||
|
|
||||||
if(supportsComponentVersions()) {
|
if(supportsComponentVersions()) {
|
||||||
if(auto compVersions = com->getComponentVersionsSync())
|
if(auto compVersions = com->getComponentVersionsSync())
|
||||||
componentVersions = std::move(*compVersions);
|
componentVersions = std::move(*compVersions);
|
||||||
|
|
@ -348,6 +347,15 @@ APIEvent::Type Device::attemptToBeginCommunication() {
|
||||||
else
|
else
|
||||||
versions = std::move(*maybeVersions);
|
versions = std::move(*maybeVersions);
|
||||||
|
|
||||||
|
|
||||||
|
// Get component versions before the extension "onDeviceOpen" hooks so that we can properly check verisons
|
||||||
|
if(supportsComponentVersions()) {
|
||||||
|
if(auto compVersions = com->getComponentVersionsSync())
|
||||||
|
componentVersions = std::move(*compVersions);
|
||||||
|
else
|
||||||
|
return getCommunicationNotEstablishedError();
|
||||||
|
}
|
||||||
|
|
||||||
return APIEvent::Type::NoErrorFound;
|
return APIEvent::Type::NoErrorFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,8 @@ protected:
|
||||||
}
|
}
|
||||||
|
|
||||||
bool supportsComponentVersions() const override { return true; }
|
bool supportsComponentVersions() const override { return true; }
|
||||||
|
bool supportsGPTP() const override { return true; }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue