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:
parent
b3e9a4e603
commit
4e55d649d7
19 changed files with 45 additions and 26 deletions
|
@ -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*);
|
||||
|
|
|
@ -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&);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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&);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue