1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:17:35 +00:00

WindowServer+LibGUI: Pass the system theme using Core::AnonymousBuffer

This was the last remaining user of shbufs in WindowServer, and so
WindowServer no longer pledges "shared_buffer" :^)
This commit is contained in:
Andreas Kling 2021-01-16 17:20:53 +01:00
parent 9c6c18d9b6
commit 04f95f9160
13 changed files with 51 additions and 56 deletions

View file

@ -31,13 +31,13 @@
namespace Gfx {
NonnullRefPtr<PaletteImpl> PaletteImpl::create_with_shared_buffer(SharedBuffer& buffer)
NonnullRefPtr<PaletteImpl> PaletteImpl::create_with_anonymous_buffer(Core::AnonymousBuffer buffer)
{
return adopt(*new PaletteImpl(buffer));
return adopt(*new PaletteImpl(move(buffer)));
}
PaletteImpl::PaletteImpl(SharedBuffer& buffer)
: m_theme_buffer(buffer)
PaletteImpl::PaletteImpl(Core::AnonymousBuffer buffer)
: m_theme_buffer(move(buffer))
{
}
@ -52,7 +52,7 @@ Palette::~Palette()
const SystemTheme& PaletteImpl::theme() const
{
return *m_theme_buffer->data<SystemTheme>();
return *m_theme_buffer.data<SystemTheme>();
}
Color PaletteImpl::color(ColorRole role) const
@ -75,9 +75,9 @@ String PaletteImpl::path(PathRole role) const
NonnullRefPtr<PaletteImpl> PaletteImpl::clone() const
{
auto new_theme_buffer = SharedBuffer::create_with_size(m_theme_buffer->size());
memcpy(new_theme_buffer->data<SystemTheme>(), &theme(), m_theme_buffer->size());
return adopt(*new PaletteImpl(*new_theme_buffer));
auto new_theme_buffer = Core::AnonymousBuffer::create_with_size(m_theme_buffer.size());
memcpy(new_theme_buffer.data<SystemTheme>(), &theme(), m_theme_buffer.size());
return adopt(*new PaletteImpl(move(new_theme_buffer)));
}
void Palette::set_color(ColorRole role, Color color)
@ -109,9 +109,9 @@ PaletteImpl::~PaletteImpl()
{
}
void PaletteImpl::replace_internal_buffer(Badge<GUI::Application>, SharedBuffer& buffer)
void PaletteImpl::replace_internal_buffer(Badge<GUI::Application>, Core::AnonymousBuffer buffer)
{
m_theme_buffer = buffer;
m_theme_buffer = move(buffer);
}
}