diff --git a/Import/GacUI.cpp b/Import/GacUI.cpp index c1437e25..31e92216 100644 --- a/Import/GacUI.cpp +++ b/Import/GacUI.cpp @@ -27495,7 +27495,7 @@ GuiDocumentViewer GuiDocumentViewer::GuiDocumentViewer(GuiDocumentViewer::IStyleProvider* styleProvider) :GuiScrollContainer(styleProvider) - , GuiDocumentCommonInterface(styleProvider->GetBaselineDocument()) + , GuiDocumentCommonInterface(styleProvider->GetBaselineDocument(), styleProvider->GetCaretColor()) { SetExtendToFullWidth(true); SetHorizontalAlwaysVisible(false); @@ -43817,7 +43817,7 @@ DocumentModel if(sp->face) XmlElementWriter(styleElement).Element(L"face").Text( sp->face.Value() ); if(sp->size) XmlElementWriter(styleElement).Element(L"size").Text( sp->size.Value().ToString() ); if(sp->color) XmlElementWriter(styleElement).Element(L"color").Text( sp->color.Value().ToString() ); - if(sp->backgroundColor) XmlElementWriter(styleElement).Element(L"bkcolor").Text( sp->color.Value().ToString() ); + if(sp->backgroundColor) XmlElementWriter(styleElement).Element(L"bkcolor").Text( sp->backgroundColor.Value().ToString() ); if(sp->bold) XmlElementWriter(styleElement).Element(L"b").Text( sp->bold.Value()?L"true":L"false" ); if(sp->italic) XmlElementWriter(styleElement).Element(L"i").Text( sp->italic.Value()?L"true":L"false" ); if(sp->underline) XmlElementWriter(styleElement).Element(L"u").Text( sp->underline.Value()?L"true":L"false" ); diff --git a/Import/GacUICompiler.cpp b/Import/GacUICompiler.cpp index d681a53b..cb191e27 100644 --- a/Import/GacUICompiler.cpp +++ b/Import/GacUICompiler.cpp @@ -1648,17 +1648,25 @@ namespace vl void Visit(WfVirtualExpression* node)override { traverse_visitor::ExpressionVisitor::Visit(node); - auto record = sp->nodePositions[node]; - Workflow_RecordScriptPosition(context, record.position, node->expandedExpression, record.availableAfter); + vint index = sp->nodePositions.Keys().IndexOf(node); + if (index != -1) + { + auto record = sp->nodePositions.Values()[index]; + Workflow_RecordScriptPosition(context, record.position, node->expandedExpression, record.availableAfter); + } } void Visit(WfVirtualDeclaration* node)override { traverse_visitor::DeclarationVisitor::Visit(node); - auto record = sp->nodePositions[node]; - FOREACH(Ptr, decl, node->expandedDeclarations) + vint index = sp->nodePositions.Keys().IndexOf(node); + if (index != -1) { - Workflow_RecordScriptPosition(context, record.position, decl, record.availableAfter); + auto record = sp->nodePositions.Values()[index]; + FOREACH(Ptr, decl, node->expandedDeclarations) + { + Workflow_RecordScriptPosition(context, record.position, decl, record.availableAfter); + } } } }; diff --git a/Tools/GacGen.exe b/Tools/GacGen.exe index 5ecfdb8e..c4b746b9 100644 Binary files a/Tools/GacGen.exe and b/Tools/GacGen.exe differ diff --git a/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin b/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin index 3481df2f..43aafb6b 100644 Binary files a/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin and b/Tutorial/GacUI_ControlTemplate/UIRes/BlackSkin.bin differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin index c67575ff..7b394581 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin differ