cinera.c: Fix 0.5.20 more correctly

The actual bug was that MarkerIndex wasn't being incremented for
HMML_CATEGORY markers mid-annotation... (HMML_MEMBER and HMML_PROJECT
were fine.)
This commit is contained in:
Matt Mascarenhas 2018-01-06 00:00:05 +00:00
parent b55f20dcb1
commit acbe38b01f
1 changed files with 15 additions and 17 deletions

View File

@ -14,7 +14,7 @@ typedef struct
version CINERA_APP_VERSION = { version CINERA_APP_VERSION = {
.Major = 0, .Major = 0,
.Minor = 5, .Minor = 5,
.Patch = 20 .Patch = 21
}; };
// TODO(matt): Copy in the DB 3 stuff from cinera_working.c // TODO(matt): Copy in the DB 3 stuff from cinera_working.c
@ -2594,6 +2594,7 @@ HMMLToBuffers(buffers *CollationBuffers, template **BespokeTemplate, char *Filen
HasFilterMenu = TRUE; HasFilterMenu = TRUE;
} }
InsertCategory(&Topics, &LocalTopics, &Media, &LocalMedia, Anno->markers[MarkerIndex].marker); InsertCategory(&Topics, &LocalTopics, &Media, &LocalMedia, Anno->markers[MarkerIndex].marker);
++MarkerIndex;
} }
} }
@ -2843,24 +2844,21 @@ AppendedIdentifier:
while(MarkerIndex < Anno->marker_count) while(MarkerIndex < Anno->marker_count)
{ {
if(Anno->markers[MarkerIndex].type == HMML_CATEGORY) switch(GenerateTopicColours(Anno->markers[MarkerIndex].marker))
{ {
switch(GenerateTopicColours(Anno->markers[MarkerIndex].marker)) case RC_SUCCESS:
{ case RC_NOOP:
case RC_SUCCESS: break;
case RC_NOOP: case RC_ERROR_FILE:
break; case RC_ERROR_MEMORY:
case RC_ERROR_FILE: hmml_free(&HMML);
case RC_ERROR_MEMORY: return RC_ERROR_FATAL;
hmml_free(&HMML); };
return RC_ERROR_FATAL; if(!HasFilterMenu)
}; {
if(!HasFilterMenu) HasFilterMenu = TRUE;
{
HasFilterMenu = TRUE;
}
InsertCategory(&Topics, &LocalTopics, &Media, &LocalMedia, Anno->markers[MarkerIndex].marker);
} }
InsertCategory(&Topics, &LocalTopics, &Media, &LocalMedia, Anno->markers[MarkerIndex].marker);
++MarkerIndex; ++MarkerIndex;
} }