mirror of https://github.com/aseprite/aseprite.git
Generate UUIDs for Layers lazily
This commit is contained in:
parent
d398bd7a2a
commit
7a03e45475
|
@ -36,9 +36,6 @@ Layer::Layer(ObjectType type, Sprite* sprite)
|
|||
type == ObjectType::LayerTilemap);
|
||||
|
||||
setName("Layer");
|
||||
// Always generate a UUID for this layer, but take into account that it could
|
||||
// be replaced. For instance, when loading a layer that already had a UUID.
|
||||
m_uuid = base::Uuid::Generate();
|
||||
}
|
||||
|
||||
Layer::~Layer()
|
||||
|
|
|
@ -129,7 +129,12 @@ public:
|
|||
int opacity() const { return m_opacity; }
|
||||
void setOpacity(int opacity) { m_opacity = opacity; }
|
||||
|
||||
const base::Uuid& uuid() const { return m_uuid; }
|
||||
const base::Uuid& uuid() const
|
||||
{
|
||||
if (m_uuid == base::Uuid())
|
||||
m_uuid = base::Uuid::Generate();
|
||||
return m_uuid;
|
||||
}
|
||||
void setUuid(const base::Uuid& uuid) { m_uuid = uuid; }
|
||||
|
||||
virtual Grid grid() const;
|
||||
|
@ -142,7 +147,7 @@ private:
|
|||
Sprite* m_sprite; // owner of the layer
|
||||
LayerGroup* m_parent; // parent layer
|
||||
LayerFlags m_flags; // stack order cannot be changed
|
||||
base::Uuid m_uuid; // The UUID is generated the first time the "HasUUID" flag
|
||||
mutable base::Uuid m_uuid; // The UUID is generated the first time the "HasUUID" flag
|
||||
// is activated when it is a null UUID. If this field had
|
||||
// a valid UUID already, it won't be replaced by a new one.
|
||||
|
||||
|
|
Loading…
Reference in New Issue