From a6088c30282dec43b99bbc5e67fdf15b5cd4298d Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Thu, 2 Jun 2016 21:06:36 +0200 Subject: [PATCH] Additional check for inactive/disabled characters in Character Catalog added --- ZRColaCompile/dbsource.cpp | 2 +- ZRColaCompile/main.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ZRColaCompile/dbsource.cpp b/ZRColaCompile/dbsource.cpp index 17ab538..f1e2354 100644 --- a/ZRColaCompile/dbsource.cpp +++ b/ZRColaCompile/dbsource.cpp @@ -300,7 +300,7 @@ bool ZRCola::DBSource::Open(LPCTSTR filename) wxVERIFY(SUCCEEDED(::CoCreateInstance(CLSID_CADOCommand, NULL, CLSCTX_ALL, IID_IADOCommand, (LPVOID*)&m_comCharacterGroup))); wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_ActiveConnection(ATL::CComVariant(m_db)))); wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_CommandType(adCmdText))); - wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_CommandText(ATL::CComBSTR(L"SELECT [Znak] FROM [VRS_SkupineZnakov] WHERE [Skupina]=? ORDER BY [Rang] ASC, [Znak] ASC")))); + wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_CommandText(ATL::CComBSTR(L"SELECT [VRS_SkupineZnakov].[Znak] FROM [VRS_SkupineZnakov] LEFT JOIN [VRS_CharList] ON [VRS_SkupineZnakov].[Znak]=[VRS_CharList].[znak] WHERE [VRS_CharList].[aktiven]=1 AND [VRS_SkupineZnakov].[Skupina]=? ORDER BY [VRS_SkupineZnakov].[Rang] ASC, [VRS_SkupineZnakov].[Znak] ASC")))); { // Create and add command parameters. ATL::CComPtr params; diff --git a/ZRColaCompile/main.cpp b/ZRColaCompile/main.cpp index d8ecd8e..1e3f7ec 100644 --- a/ZRColaCompile/main.cpp +++ b/ZRColaCompile/main.cpp @@ -346,6 +346,11 @@ int _tmain(int argc, _TCHAR *argv[]) while (!ZRCola::DBSource::IsEOF(rs)) { // Read character group from the database. if (src.GetCharacterGroup(rs, cg)) { + if (cg.chars.empty()) { + // Skip empty character groups. + continue; + } + // Add character group to index and data. unsigned __int32 idx = db.data.size(); wxASSERT_MSG((int)0xffff8000 <= cg.id && cg.id <= (int)0x00007fff, wxT("character group ID out of bounds"));