summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuitem.h4
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuitem.mm5
2 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenuitem.h b/src/plugins/platforms/cocoa/qcocoamenuitem.h
index 4a063d5965..f96f6fd91f 100644
--- a/src/plugins/platforms/cocoa/qcocoamenuitem.h
+++ b/src/plugins/platforms/cocoa/qcocoamenuitem.h
@@ -69,7 +69,7 @@ public:
{ return m_tag; }
void setText(const QString &text);
- void setIcon(const QImage &icon);
+ void setIcon(const QIcon &icon);
void setMenu(QPlatformMenu *menu);
void setVisible(bool isVisible);
void setIsSeparator(bool isSeparator);
@@ -97,7 +97,7 @@ private:
NSMenuItem *m_native;
QString m_text;
- QImage m_icon;
+ QIcon m_icon;
QCocoaMenu *m_menu;
bool m_isVisible;
bool m_enabled;
diff --git a/src/plugins/platforms/cocoa/qcocoamenuitem.mm b/src/plugins/platforms/cocoa/qcocoamenuitem.mm
index abaffd211a..b70506697e 100644
--- a/src/plugins/platforms/cocoa/qcocoamenuitem.mm
+++ b/src/plugins/platforms/cocoa/qcocoamenuitem.mm
@@ -114,7 +114,7 @@ void QCocoaMenuItem::setText(const QString &text)
m_text = qt_mac_removeAmpersandEscapes(text);
}
-void QCocoaMenuItem::setIcon(const QImage &icon)
+void QCocoaMenuItem::setIcon(const QIcon &icon)
{
m_icon = icon;
}
@@ -306,8 +306,9 @@ NSMenuItem *QCocoaMenuItem::sync()
}
if (!m_icon.isNull()) {
- NSImage *img = qt_mac_cgimage_to_nsimage(qt_mac_image_to_cgimage(m_icon));
+ NSImage *img = static_cast<NSImage *>(qt_mac_create_nsimage(m_icon.pixmap(16, QIcon::Normal)));
[m_native setImage: img];
+ [img release];
}
[m_native setState:m_checked ? NSOnState : NSOffState];