mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
Merge changes I4d47331e,Iabe1f5cd
* changes: [apps/sequence][app/graph] Repare checksum [apps/shared] Fix bug
This commit is contained in:
@@ -18,9 +18,13 @@ CartesianFunctionStore::CartesianFunctionStore() :
|
||||
}
|
||||
|
||||
uint32_t CartesianFunctionStore::storeChecksum() {
|
||||
size_t dataLengthInBytes = m_numberOfFunctions*sizeof(CartesianFunction);
|
||||
size_t dataLengthInBytes = k_maxNumberOfFunctions*TextField::maxBufferSize()*sizeof(char);
|
||||
assert((dataLengthInBytes & 0x3) == 0); // Assert that dataLengthInBytes is a multiple of 4
|
||||
return Ion::crc32((uint32_t *)m_functions, dataLengthInBytes>>2);
|
||||
char data[k_maxNumberOfFunctions*TextField::maxBufferSize()] = {};
|
||||
for (int i = 0; i < k_maxNumberOfFunctions; i++) {
|
||||
strlcpy(data+i*TextField::maxBufferSize(), m_functions[i].text(), TextField::maxBufferSize());
|
||||
}
|
||||
return Ion::crc32((uint32_t *)data, dataLengthInBytes>>2);
|
||||
}
|
||||
|
||||
CartesianFunction * CartesianFunctionStore::functionAtIndex(int i) {
|
||||
|
||||
@@ -11,9 +11,15 @@ constexpr KDColor SequenceStore::k_defaultColors[k_maxNumberOfSequences];
|
||||
constexpr const char * SequenceStore::k_sequenceNames[k_maxNumberOfSequences];
|
||||
|
||||
uint32_t SequenceStore::storeChecksum() {
|
||||
size_t dataLengthInBytes = m_numberOfFunctions*sizeof(Sequence);
|
||||
size_t dataLengthInBytes = k_maxNumberOfSequences*3*TextField::maxBufferSize()*sizeof(char);
|
||||
assert((dataLengthInBytes & 0x3) == 0); // Assert that dataLengthInBytes is a multiple of 4
|
||||
return Ion::crc32((uint32_t *)m_sequences, dataLengthInBytes>>2);
|
||||
char data[3*k_maxNumberOfSequences*TextField::maxBufferSize()] = {};
|
||||
for (int i = 0; i < k_maxNumberOfSequences; i++) {
|
||||
strlcpy(data+i*3*TextField::maxBufferSize(), m_sequences[i].text(), TextField::maxBufferSize());
|
||||
strlcpy(data+i*3*TextField::maxBufferSize()+TextField::maxBufferSize(), m_sequences[i].firstInitialConditionText(), TextField::maxBufferSize());
|
||||
strlcpy(data+i*3*TextField::maxBufferSize()+2*TextField::maxBufferSize(), m_sequences[i].secondInitialConditionText(), TextField::maxBufferSize());
|
||||
}
|
||||
return Ion::crc32((uint32_t *)data, dataLengthInBytes>>2);
|
||||
}
|
||||
|
||||
Sequence * SequenceStore::functionAtIndex(int i) {
|
||||
|
||||
@@ -150,8 +150,8 @@ void InteractiveCurveViewController::viewWillAppear() {
|
||||
curveView()->selectMainView(true);
|
||||
header()->setSelectedButton(-1);
|
||||
reloadBannerView();
|
||||
curveView()->reload();
|
||||
curveView()->setOkView(&m_okView);
|
||||
curveView()->reload();
|
||||
}
|
||||
|
||||
void InteractiveCurveViewController::didEnterResponderChain(Responder * previousFirstResponder) {
|
||||
|
||||
Reference in New Issue
Block a user