From 51039917996909284fbc2d776a9b8f71fe5e6f9a Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周六, 02 12月 2023 17:43:17 +0800 Subject: [PATCH] wip --- src/core/corewindowagent.cpp | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/core/corewindowagent.cpp b/src/core/corewindowagent.cpp index 54b081c..b705937 100644 --- a/src/core/corewindowagent.cpp +++ b/src/core/corewindowagent.cpp @@ -11,44 +11,44 @@ namespace QWK { - CoreWindowAgentPrivate::CoreWindowAgentPrivate() : m_eventHandler(nullptr) { + CoreWindowAgentPrivate::CoreWindowAgentPrivate() : q_ptr(nullptr), eventHandler(nullptr) { } - CoreWindowAgentPrivate::~CoreWindowAgentPrivate() { - delete m_eventHandler; - } + CoreWindowAgentPrivate::~CoreWindowAgentPrivate() = default; void CoreWindowAgentPrivate::init() { } - bool CoreWindowAgentPrivate::setup(QWindow *window, WindowItemDelegate *delegate) { + bool CoreWindowAgentPrivate::setup(QWindow *window, const WindowItemDelegatePtr &delegate) { + Q_ASSERT(window); + if (!window) { + return false; + } auto handler = #ifdef Q_OS_WINDOWS - new Win32WindowContext(window, delegate) + std::make_shared<Win32WindowContext>(window, delegate) #else - new QtWindowContext(window, delegate) + std::make_shared<QtWindowContext>(window, delegate) #endif ; if (!handler->setup()) { - delete handler; return false; } - m_eventHandler = handler; + eventHandler = handler; return true; } - CoreWindowAgent::~CoreWindowAgent() { - } + CoreWindowAgent::~CoreWindowAgent() = default; void CoreWindowAgent::showSystemMenu(const QPoint &pos) { Q_D(CoreWindowAgent); - d->m_eventHandler->showSystemMenu(pos); + d->eventHandler->showSystemMenu(pos); } void CoreWindowAgent::startSystemMove(const QPoint &pos) { Q_D(CoreWindowAgent); - auto win = d->m_eventHandler->window(); + auto win = d->eventHandler->window(); if (!win) { return; } @@ -59,7 +59,7 @@ void CoreWindowAgent::startSystemResize(Qt::Edges edges, const QPoint &pos) { Q_D(CoreWindowAgent); - auto win = d->m_eventHandler->window(); + auto win = d->eventHandler->window(); if (!win) { return; } -- Gitblit v1.9.1