|
@@ -29,15 +29,21 @@ namespace PixiEditor.Models.Controllers
|
|
|
|
|
|
public void DeletePixels(Layer[] layers, Coordinates[] pixels)
|
|
public void DeletePixels(Layer[] layers, Coordinates[] pixels)
|
|
{
|
|
{
|
|
|
|
+ if (Manager.ActiveDocument == null)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
BitmapPixelChanges changes = BitmapPixelChanges.FromSingleColoredArray(pixels, Color.FromArgb(0, 0, 0, 0));
|
|
BitmapPixelChanges changes = BitmapPixelChanges.FromSingleColoredArray(pixels, Color.FromArgb(0, 0, 0, 0));
|
|
Dictionary<Layer, Color[]> oldValues = BitmapUtils.GetPixelsForSelection(layers, pixels);
|
|
Dictionary<Layer, Color[]> oldValues = BitmapUtils.GetPixelsForSelection(layers, pixels);
|
|
LayerChange[] old = new LayerChange[layers.Length];
|
|
LayerChange[] old = new LayerChange[layers.Length];
|
|
LayerChange[] newChange = new LayerChange[layers.Length];
|
|
LayerChange[] newChange = new LayerChange[layers.Length];
|
|
for (int i = 0; i < layers.Length; i++)
|
|
for (int i = 0; i < layers.Length; i++)
|
|
{
|
|
{
|
|
|
|
+ int indexOfLayer = Manager.ActiveDocument.Layers.IndexOf(layers[i]);
|
|
old[i] = new LayerChange(
|
|
old[i] = new LayerChange(
|
|
- BitmapPixelChanges.FromArrays(pixels, oldValues[layers[i]]), i);
|
|
|
|
- newChange[i] = new LayerChange(changes, i);
|
|
|
|
|
|
+ BitmapPixelChanges.FromArrays(pixels, oldValues[layers[i]]), indexOfLayer);
|
|
|
|
+ newChange[i] = new LayerChange(changes, indexOfLayer);
|
|
layers[i].SetPixels(changes);
|
|
layers[i].SetPixels(changes);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -69,7 +75,7 @@ namespace PixiEditor.Models.Controllers
|
|
/// <summary>
|
|
/// <summary>
|
|
/// Applies pixels from preview layer to selected layer.
|
|
/// Applies pixels from preview layer to selected layer.
|
|
/// </summary>
|
|
/// </summary>
|
|
- public void StopAction()
|
|
|
|
|
|
+ public void ApplyPreviewLayer()
|
|
{
|
|
{
|
|
if (lastModifiedLayers == null)
|
|
if (lastModifiedLayers == null)
|
|
{
|
|
{
|