Yuhang Zhao
2023-12-18 56c4ef0a85abb92a64bb90d86526f2218835e282
optimize mac context a bit
1个文件已修改
18 ■■■■ 已修改文件
src/core/contexts/cocoawindowcontext.mm 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/core/contexts/cocoawindowcontext.mm
@@ -207,26 +207,12 @@
        return [nsview window];
    }
    static inline void cleanupProxy() {
        if (g_proxyList()->isEmpty()) {
            return;
        }
        const auto &data = *g_proxyList();
        qDeleteAll(data);
        g_proxyList()->clear();
    }
    static inline NSWindowProxy *ensureWindowProxy(const WId windowId) {
        auto it = g_proxyList()->find(windowId);
        if (it == g_proxyList()->end()) {
            NSWindow *nswindow = mac_getNSWindow(windowId);
            const auto proxy = new NSWindowProxy(nswindow);
            it = g_proxyList()->insert(windowId, proxy);
        }
        static bool cleanerInstalled = false;
        if (!cleanerInstalled) {
            cleanerInstalled = true;
            qAddPostRoutine(cleanupProxy);
        }
        return it.value();
    }
@@ -369,7 +355,9 @@
    }
    CocoaWindowContext::~CocoaWindowContext() {
        // TODO: deref something?
        if (const auto proxy = g_proxyList()->take(windowId)) {
            delete proxy;
        }
    }
    QString CocoaWindowContext::key() const {