Skip to content

Commit

Permalink
Merge pull request #234 from stephenegriffin/rest
Browse files Browse the repository at this point in the history
Properly init new list items when adding to restrictions
  • Loading branch information
stephenegriffin committed Nov 13, 2018
2 parents a4c2a7a + e090b46 commit e21c2c4
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions UI/Dialogs/Editors/RestrictEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -497,20 +497,18 @@ namespace dialog

void CResAndOrEditor::InitListFromRestriction(ULONG ulListNum, _In_ const _SRestriction* lpRes) const
{
if (!lpRes) return;

ClearList(ulListNum);

InsertColumn(ulListNum, 0, IDS_SHARP);
controls::sortlistdata::SortListData* lpData = nullptr;

if (!lpRes) return;
switch (lpRes->rt)
{
case RES_AND:
InsertColumn(ulListNum, 1, IDS_SUBRESTRICTION);

for (ULONG paneID = 0; paneID < lpRes->res.resAnd.cRes; paneID++)
{
lpData = InsertListRow(ulListNum, paneID, std::to_wstring(paneID));
auto lpData = InsertListRow(ulListNum, paneID, std::to_wstring(paneID));
if (lpData)
{
lpData->InitializeRes(&lpRes->res.resAnd.lpRes[paneID]);
Expand All @@ -527,7 +525,7 @@ namespace dialog

for (ULONG paneID = 0; paneID < lpRes->res.resOr.cRes; paneID++)
{
lpData = InsertListRow(ulListNum, paneID, std::to_wstring(paneID));
auto lpData = InsertListRow(ulListNum, paneID, std::to_wstring(paneID));
if (lpData)
{
lpData->InitializeRes(&lpRes->res.resOr.lpRes[paneID]);
Expand All @@ -546,7 +544,13 @@ namespace dialog
_Check_return_ bool
CResAndOrEditor::DoListEdit(ULONG ulListNum, int iItem, _In_ controls::sortlistdata::SortListData* lpData)
{
if (!lpData || !lpData->Res()) return false;
if (!lpData) return false;
if (!lpData->Res())
{
lpData->InitializeRes(nullptr);
}

if (!lpData->Res()) return false;

const auto lpSourceRes = lpData->Res()->m_lpNewRes ? lpData->Res()->m_lpNewRes : lpData->Res()->m_lpOldRes;

Expand Down Expand Up @@ -737,8 +741,14 @@ namespace dialog
_Check_return_ bool
CResCommentEditor::DoListEdit(ULONG ulListNum, int iItem, _In_ controls::sortlistdata::SortListData* lpData)
{
if (!lpData || !lpData->Comment()) return false;
if (!m_lpAllocParent) return false;
if (!lpData) return false;
if (!lpData->Res())
{
lpData->InitializeComment(nullptr);
}

if (!lpData->Comment()) return false;

auto lpSourceProp =
lpData->Comment()->m_lpNewProp ? lpData->Comment()->m_lpNewProp : lpData->Comment()->m_lpOldProp;
Expand Down

0 comments on commit e21c2c4

Please sign in to comment.