diff --git a/Applications/FileManager/DirectoryView.cpp b/Applications/FileManager/DirectoryView.cpp index dd1f724348c..7472713ea53 100644 --- a/Applications/FileManager/DirectoryView.cpp +++ b/Applications/FileManager/DirectoryView.cpp @@ -76,7 +76,7 @@ DirectoryView::DirectoryView(GWidget* parent) , m_model(GDirectoryModel::create()) { set_active_widget(nullptr); - m_item_view = new GItemView(this); + m_item_view = GItemView::construct(this); m_item_view->set_model(model()); m_table_view = new GTableView(this); diff --git a/Applications/FileManager/DirectoryView.h b/Applications/FileManager/DirectoryView.h index 78e8755a08a..f383596cae0 100644 --- a/Applications/FileManager/DirectoryView.h +++ b/Applications/FileManager/DirectoryView.h @@ -73,5 +73,5 @@ private: void add_path_to_history(const StringView& path); GTableView* m_table_view { nullptr }; - GItemView* m_item_view { nullptr }; + ObjectPtr m_item_view; }; diff --git a/Libraries/LibGUI/GItemView.h b/Libraries/LibGUI/GItemView.h index 74f63e962e7..dc67ea8fe43 100644 --- a/Libraries/LibGUI/GItemView.h +++ b/Libraries/LibGUI/GItemView.h @@ -11,7 +11,6 @@ class Painter; class GItemView : public GAbstractView { C_OBJECT(GItemView) public: - explicit GItemView(GWidget* parent); virtual ~GItemView() override; int content_width() const; @@ -24,6 +23,8 @@ public: void set_model_column(int column) { m_model_column = column; } private: + explicit GItemView(GWidget* parent); + virtual void did_update_model() override; virtual void paint_event(GPaintEvent&) override; virtual void resize_event(GResizeEvent&) override;