From c7431da3f2e3ed88611ee109afd179dd0213d5db Mon Sep 17 00:00:00 2001 From: Marco Cutecchia Date: Sat, 25 Sep 2021 19:39:11 +0200 Subject: [PATCH] PixelPaint: Ensure a layer is selected when restoring a snapshot Previously when restoring the starting snapshot in the UndoStack we would end up with no layer selected, which was kinda annoying --- Userland/Applications/PixelPaint/Image.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Userland/Applications/PixelPaint/Image.cpp b/Userland/Applications/PixelPaint/Image.cpp index 0eb110dda6..5439c9168e 100644 --- a/Userland/Applications/PixelPaint/Image.cpp +++ b/Userland/Applications/PixelPaint/Image.cpp @@ -259,14 +259,21 @@ void Image::restore_snapshot(Image const& snapshot) { m_layers.clear(); select_layer(nullptr); + + bool layer_selected = false; for (const auto& snapshot_layer : snapshot.m_layers) { auto layer = Layer::try_create_snapshot(*this, snapshot_layer); VERIFY(layer); - if (layer->is_selected()) + if (layer->is_selected()) { select_layer(layer.ptr()); + layer_selected = true; + } add_layer(*layer); } + if (!layer_selected) + select_layer(&layer(0)); + did_modify_layer_stack(); }