Browse Source

Fixed null reference exception that could occur if the TextBoxTextChanged event was fired before the XmlTreeEditor was created.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3599 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 17 years ago
parent
commit
7efa7d9571
  1. 8
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlTreeViewContainerControl.cs
  2. 33
      src/AddIns/DisplayBindings/XmlEditor/Test/Tree/TextBoxTextChangedBeforeEditorLoadedTestFixture.cs
  3. 1
      src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj

8
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlTreeViewContainerControl.cs

@ -808,9 +808,11 @@ namespace ICSharpCode.XmlEditor @@ -808,9 +808,11 @@ namespace ICSharpCode.XmlEditor
/// </summary>
protected void TextBoxTextChanged(object sender, EventArgs e)
{
bool previousIsDirty = dirty;
editor.TextContentChanged();
OnXmlChanged(previousIsDirty);
if (editor != null) {
bool previousIsDirty = dirty;
editor.TextContentChanged();
OnXmlChanged(previousIsDirty);
}
}
/// <summary>

33
src/AddIns/DisplayBindings/XmlEditor/Test/Tree/TextBoxTextChangedBeforeEditorLoadedTestFixture.cs

@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Windows.Forms;
using System.Xml;
using ICSharpCode.Core;
using ICSharpCode.XmlEditor;
using NUnit.Framework;
using XmlEditor.Tests.Utils;
namespace XmlEditor.Tests.Tree
{
/// <summary>
/// Fixes a null exception that could occur if the TextBoxTextChanged event is fired before the
/// XmlTreeEditor is created.
/// </summary>
[TestFixture]
public class TextBoxTextChangedBeforeEditorLoadedTestFixture
{
[Test]
public void FireTextBoxTextChangedEventBeforeXmlTreeEditorCreated()
{
DerivedXmlTreeViewContainerControl treeViewContainer = new DerivedXmlTreeViewContainerControl();
treeViewContainer.CallTextBoxTextChanged();
}
}
}

1
src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj

@ -90,6 +90,7 @@ @@ -90,6 +90,7 @@
<Compile Include="Tree\RemoveElementTestFixture.cs" />
<Compile Include="Tree\RemoveTextNodesFromTreeControlTestFixture.cs" />
<Compile Include="Tree\RemoveTextNodeTestFixture.cs" />
<Compile Include="Tree\TextBoxTextChangedBeforeEditorLoadedTestFixture.cs" />
<Compile Include="Tree\XmlCommentTreeNodeTests.cs" />
<Compile Include="Tree\XmlTreeViewClipboardHandlerTestFixture.cs" />
<Compile Include="Tree\XmlTreeViewContainerTestFixture.cs" />

Loading…
Cancel
Save