1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 19:58:11 +00:00
serenity/Userland/Applications/PixelPaint/LayerPropertiesWidget.h
Marcus Nilsson 18e6da6d4d PixelPaint: Keep a RefPtr to layer in LayerPropertiesWidget
Using a WeakPtr to keep a reference to the active layer caused it to
be destroyed when the last tab was closed, which made the
m_layer == layer check in set_layer() return early since it was
already null. Because of this the LayerPropertiesWidget was never
disabled.
2022-01-09 20:24:02 +01:00

33 lines
584 B
C++

/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibGUI/Widget.h>
namespace PixelPaint {
class Layer;
class LayerPropertiesWidget final : public GUI::Widget {
C_OBJECT(LayerPropertiesWidget);
public:
virtual ~LayerPropertiesWidget() override;
void set_layer(Layer*);
private:
LayerPropertiesWidget();
RefPtr<GUI::CheckBox> m_visibility_checkbox;
RefPtr<GUI::OpacitySlider> m_opacity_slider;
RefPtr<GUI::TextBox> m_name_textbox;
RefPtr<Layer> m_layer;
};
}