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

Services: Fix visibility of Object-derivative constructors

Derivatives of Core::Object should be constructed through
ClassName::construct(), to avoid handling ref-counted objects with
refcount zero. Fixing the visibility means that misuses like this are
more difficult.
This commit is contained in:
Ben Wiederhake 2021-10-31 23:38:04 +01:00 committed by Andreas Kling
parent b3e9a4e603
commit 4e55d649d7
19 changed files with 45 additions and 26 deletions

View file

@ -14,7 +14,6 @@ namespace WindowServer {
class AppletManager : public Core::Object {
C_OBJECT(AppletManager)
public:
AppletManager();
~AppletManager();
static AppletManager& the();
@ -35,6 +34,8 @@ public:
void did_change_theme();
private:
AppletManager();
void repaint();
void draw_applet(const Window& applet);
void set_hovered_applet(Window*);

View file

@ -28,7 +28,6 @@ class Menu final : public Core::Object {
C_OBJECT(Menu);
public:
Menu(ClientConnection*, int menu_id, String name);
virtual ~Menu() override;
ClientConnection* client() { return m_client; }
@ -129,6 +128,8 @@ public:
const Vector<size_t>* items_with_alt_shortcut(u32 alt_shortcut) const;
private:
Menu(ClientConnection*, int menu_id, String name);
virtual void event(Core::Event&) override;
void handle_mouse_move_event(const MouseEvent&);

View file

@ -20,7 +20,6 @@ class MenuManager final : public Core::Object {
public:
static MenuManager& the();
MenuManager();
virtual ~MenuManager() override;
bool is_open(const Menu&) const;
@ -48,6 +47,8 @@ public:
Menu* hovered_menu() { return m_hovered_menu; }
private:
MenuManager();
void close_menus(const Vector<Menu&>&);
virtual void event(Core::Event&) override;

View file

@ -68,7 +68,6 @@ public:
static WindowManager& the();
explicit WindowManager(Gfx::PaletteImpl const&);
virtual ~WindowManager() override;
Palette palette() const { return Palette(*m_palette); }
@ -322,6 +321,8 @@ public:
void apply_cursor_theme(String const& name);
private:
explicit WindowManager(Gfx::PaletteImpl const&);
void notify_new_active_window(Window&);
void notify_new_active_input_window(Window&);
void notify_previous_active_window(Window&);