[ACPPAGE] Hide shims handled by the main ui.

This commit is contained in:
Mark Jansen 2018-01-27 17:41:58 +01:00
parent 556c485c8b
commit 5c7ce469bb
3 changed files with 38 additions and 14 deletions

View file

@ -36,24 +36,24 @@ public:
while (celt && m_layer)
{
TAGID nameid = SdbFindFirstTag(m_db, m_layer, TAG_NAME);
if (!nameid)
return S_FALSE;
if (nameid)
{
LPWSTR name = SdbGetStringTagPtr(m_db, nameid);
if (name && !IsBuiltinLayer(name))
{
ULONG Size = wcslen(name) + 1;
LPWSTR name = SdbGetStringTagPtr(m_db, nameid);
if (!name)
return S_FALSE;
*rgelt = (LPOLESTR)::CoTaskMemAlloc(Size * sizeof(WCHAR));
StringCchCopyW(*rgelt, Size, name);
ULONG Size = wcslen(name) + 1;
*rgelt = (LPOLESTR)::CoTaskMemAlloc(Size * sizeof(WCHAR));
StringCchCopyW(*rgelt, Size, name);
if (pceltFetched)
(*pceltFetched)++;
if (pceltFetched)
(*pceltFetched)++;
celt--;
rgelt++;
}
}
m_layer = SdbFindNextTag(m_db, m_root, m_layer);
celt--;
rgelt++;
}
return celt ? S_FALSE : S_OK;
}

View file

@ -67,6 +67,28 @@ static const WCHAR* g_AllowedExtensions[] = {
0
};
BOOL IsBuiltinLayer(PCWSTR Name)
{
size_t n;
for (n = 0; g_Layers[n].Name; ++n)
{
if (!wcsicmp(g_Layers[n].Name, Name))
{
return TRUE;
}
}
for (n = 0; g_CompatModes[n].Name; ++n)
{
if (!wcsicmp(g_CompatModes[n].Name, Name))
{
return TRUE;
}
}
return FALSE;
}
void ACDBG_FN(PCSTR FunctionName, PCWSTR Format, ...)
{

View file

@ -28,6 +28,8 @@ extern LONG g_ModuleRefCnt;
EXTERN_C BOOL WINAPI GetExeFromLnk(PCWSTR pszLnk, PWSTR pszExe, size_t cchSize);
BOOL IsBuiltinLayer(PCWSTR Name);
#include "resource.h"
#include "CLayerStringList.hpp"
#include "CLayerUIPropPage.hpp"