B2017-081: crash on insert of supplemental information (cached item was of wrong type)
This commit is contained in:
parent
9e93a16c7b
commit
944cd18c6b
@ -194,11 +194,21 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
return string.Format("{0}~{1}~{2}", _ItemID, MenuTitle, ToolTip);
|
||||
}
|
||||
private static ItemInfo GetCorrectItemInfoType(int itemId)
|
||||
{
|
||||
using (ItemInfo itm = ItemInfo.Get(itemId))
|
||||
{
|
||||
if (itm.IsProcedure) return ProcedureInfo.Get(itemId);
|
||||
if (itm.IsSection) return SectionInfo.Get(itemId);
|
||||
if (itm.IsStep) return StepInfo.Get(itemId);
|
||||
}
|
||||
return ItemInfo.Get(itemId);
|
||||
}
|
||||
public static MostRecentItem ParseString(string str)
|
||||
{
|
||||
string[] parts = str.Split("~".ToCharArray());
|
||||
int itemID = int.Parse(parts[0]);
|
||||
ItemInfo item = ItemInfo.Get(itemID);
|
||||
ItemInfo item = GetCorrectItemInfoType(itemID);
|
||||
if (item == null) return null;
|
||||
if (parts.Length > 1 && parts[1] != item.Path && !RetainBadMRIs())
|
||||
return null; // Path doesn't match
|
||||
|
Loading…
x
Reference in New Issue
Block a user