diff --git a/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs b/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs index c026b17c9..5b8a58cfb 100644 --- a/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs +++ b/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs @@ -123,7 +123,7 @@ namespace Artemis.Profiles.Layers.Models public IEnumerable GetLayers() { var layers = new List(); - foreach (var layerModel in Children) + foreach (var layerModel in Children.OrderBy(c => c.Order)) { layers.Add(layerModel); layers.AddRange(layerModel.GetLayers()); diff --git a/Artemis/Artemis/Profiles/ProfileModel.cs b/Artemis/Artemis/Profiles/ProfileModel.cs index 2e96a518f..6b97360b3 100644 --- a/Artemis/Artemis/Profiles/ProfileModel.cs +++ b/Artemis/Artemis/Profiles/ProfileModel.cs @@ -74,7 +74,7 @@ namespace Artemis.Profiles public List GetLayers() { var layers = new List(); - foreach (var layerModel in Layers) + foreach (var layerModel in Layers.OrderBy(l => l.Order)) { layers.Add(layerModel); layers.AddRange(layerModel.GetLayers()); diff --git a/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs b/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs index e0968233d..89b96b0b4 100644 --- a/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs +++ b/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs @@ -55,7 +55,7 @@ namespace Artemis.Utilities.DataReaders var buffer = new byte[4096]; // Read the incoming message - pipeServer.Read(buffer, 0, 255); + pipeServer.Read(buffer, 0, 4096); // Convert byte buffer to string var stringData = Encoding.ASCII.GetString(buffer, 0, buffer.Length); diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs index 34a272f6e..69ff51984 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs @@ -422,6 +422,8 @@ namespace Artemis.ViewModels.Profiles { // Update the UI Layers.Clear(); + ProfileViewModel.SelectedLayer = null; + if (SelectedProfile != null) Layers.AddRange(SelectedProfile.Layers); @@ -431,7 +433,7 @@ namespace Artemis.ViewModels.Profiles // A small delay to allow the profile list to rebuild Task.Factory.StartNew(() => { - Thread.Sleep(20); + Thread.Sleep(100); ProfileViewModel.SelectedLayer = selectModel; }); }