BUG: fix up gui with values that stay around too long

This commit is contained in:
Bill Hoffman 2001-05-10 17:23:00 -04:00
parent e539432495
commit 69b51cc245
4 changed files with 13 additions and 33 deletions

View File

@ -434,19 +434,11 @@ void CMakeSetupDialog::FillCacheManagerFromCacheGUI()
i != items.end(); ++i)
{
CPropertyItem* item = *i;
// check to see if the editor has removed the cache entry
if(item->m_Removed)
{
cmCacheManager::GetInstance()->RemoveCacheEntry((*i)->m_propName);
}
else
{
cmCacheManager::CacheEntry *entry =
cmCacheManager::CacheEntry *entry =
cmCacheManager::GetInstance()->GetCacheEntry((const char*)item->m_propName);
if (entry)
{
entry->m_Value = item->m_curValue;
}
if (entry)
{
entry->m_Value = item->m_curValue;
}
}
}

View File

@ -3,6 +3,7 @@
#include "stdafx.h"
#include "PropertyList.h"
#include "../cmCacheManager.h"
#define IDC_PROPCMBBOX 712
#define IDC_PROPEDITBOX 713
@ -146,28 +147,11 @@ int CPropertyList::AddProperty(const char* name,
return i;
}
}
// if it is not in the displayed list, then
// check for it in the m_PropertyItems list as
// a removed item
for(std::set<CPropertyItem*>::iterator
p = m_PropertyItems.begin();
p != m_PropertyItems.end(); ++p)
{
if((*p)->m_propName == name)
{
pItem = *p;
pItem->m_Removed = false;
pItem->m_curValue = value;
pItem->m_HelpString = helpString;
Invalidate();
}
}
// if it is not found, then create a new one
if(!pItem)
{
pItem = new CPropertyItem(name, value, helpString, type, comboItems);
}
return this->AddPropItem(pItem);
}
@ -671,7 +655,9 @@ void CPropertyList::OnDelete()
return;
}
CPropertyItem* pItem = (CPropertyItem*) GetItemDataPtr(m_curSel);
pItem->m_Removed = true;
cmCacheManager::GetInstance()->RemoveCacheEntry(pItem->m_propName);
m_PropertyItems.erase(pItem);
delete pItem;
this->DeleteString(m_curSel);
Invalidate();
}
@ -692,7 +678,9 @@ void CPropertyList::RemoveAll()
for(int i =0; i < c; ++i)
{
CPropertyItem* pItem = (CPropertyItem*) GetItemDataPtr(0);
pItem->m_Removed = true;
cmCacheManager::GetInstance()->RemoveCacheEntry(pItem->m_propName);
m_PropertyItems.erase(pItem);
delete pItem;
this->DeleteString(0);
}
Invalidate();

View File

@ -461,7 +461,7 @@ void cmDSPMakefile::WriteDSPHeader(std::ostream& fout, const char *libName,
{
// add libraries to executables and dlls (but never include
// a library in a library, bad recursion)
if (!target.GetType() == cmTarget::LIBRARY ||
if (!(target.GetType() == cmTarget::LIBRARY) ||
(m_LibraryBuildType == DLL && libName != j->first))
{
std::string lib = j->first;

View File

@ -461,7 +461,7 @@ void cmDSPMakefile::WriteDSPHeader(std::ostream& fout, const char *libName,
{
// add libraries to executables and dlls (but never include
// a library in a library, bad recursion)
if (!target.GetType() == cmTarget::LIBRARY ||
if (!(target.GetType() == cmTarget::LIBRARY) ||
(m_LibraryBuildType == DLL && libName != j->first))
{
std::string lib = j->first;