CocoaPlugin: add missing auto release pools
Add auto release pools to the entry functions of the plugin that leads to mem leaks. By adding them as early as possible in the callstack, we avoid creating to many pools Change-Id: I715e06bd8d3280c6877340fc724eb1afbf804ae1 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>bb10
parent
98e1170086
commit
287255c03a
|
|
@ -109,6 +109,7 @@ QCocoaMenu::QCocoaMenu() :
|
|||
|
||||
QCocoaMenu::~QCocoaMenu()
|
||||
{
|
||||
QCocoaAutoReleasePool pool;
|
||||
[m_nativeItem setSubmenu:nil];
|
||||
[m_nativeMenu release];
|
||||
[m_delegate release];
|
||||
|
|
@ -125,6 +126,7 @@ void QCocoaMenu::setText(const QString &text)
|
|||
|
||||
void QCocoaMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem *before)
|
||||
{
|
||||
QCocoaAutoReleasePool pool;
|
||||
QCocoaMenuItem *cocoaItem = static_cast<QCocoaMenuItem *>(menuItem);
|
||||
QCocoaMenuItem *beforeItem = static_cast<QCocoaMenuItem *>(before);
|
||||
|
||||
|
|
@ -168,6 +170,7 @@ void QCocoaMenu::insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem)
|
|||
|
||||
void QCocoaMenu::removeMenuItem(QPlatformMenuItem *menuItem)
|
||||
{
|
||||
QCocoaAutoReleasePool pool;
|
||||
QCocoaMenuItem *cocoaItem = static_cast<QCocoaMenuItem *>(menuItem);
|
||||
Q_ASSERT(m_menuItems.contains(cocoaItem));
|
||||
m_menuItems.removeOne(cocoaItem);
|
||||
|
|
@ -187,6 +190,7 @@ QCocoaMenuItem *QCocoaMenu::itemOrNull(int index) const
|
|||
|
||||
void QCocoaMenu::syncMenuItem(QPlatformMenuItem *menuItem)
|
||||
{
|
||||
QCocoaAutoReleasePool pool;
|
||||
QCocoaMenuItem *cocoaItem = static_cast<QCocoaMenuItem *>(menuItem);
|
||||
Q_ASSERT(m_menuItems.contains(cocoaItem));
|
||||
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ QCocoaMenuBar::~QCocoaMenuBar()
|
|||
|
||||
void QCocoaMenuBar::insertMenu(QPlatformMenu *platformMenu, QPlatformMenu *before)
|
||||
{
|
||||
QCocoaAutoReleasePool pool;
|
||||
QCocoaMenu *menu = static_cast<QCocoaMenu *>(platformMenu);
|
||||
QCocoaMenu *beforeMenu = static_cast<QCocoaMenu *>(before);
|
||||
#ifdef QT_COCOA_ENABLE_MENU_DEBUG
|
||||
|
|
|
|||
Loading…
Reference in New Issue