diff options
author | Morten Johan Sørvig <morten.sorvig@digia.com> | 2014-04-07 09:26:48 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-09 10:47:26 +0200 |
commit | c92fead4333683f7b13fc730203c67834aa478ef (patch) | |
tree | c84531b442dce22a76086234d3878525680ec2b3 /src/plugins/platforms | |
parent | 0e62671bc0e6df5385b5eb8841b490190e411987 (diff) |
Cocoa: Fix possible printing memory leak.
The created page format must always be released,
even if one of the subsequent PM* functions fails.
Change-Id: If42aaeccd6bdb51ba53444f491ca2878783d0678
Reviewed-by: John Layt <jlayt@kde.org>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaprintdevice.mm | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaprintdevice.mm b/src/plugins/platforms/cocoa/qcocoaprintdevice.mm index 281b140e15..57d5c800e0 100644 --- a/src/plugins/platforms/cocoa/qcocoaprintdevice.mm +++ b/src/plugins/platforms/cocoa/qcocoaprintdevice.mm @@ -219,10 +219,11 @@ QPageSize QCocoaPrintDevice::defaultPageSize() const QPageSize pageSize; PMPageFormat pageFormat; PMPaper paper; - if (PMCreatePageFormat(&pageFormat) == noErr - && PMSessionDefaultPageFormat(m_session, pageFormat) == noErr - && PMGetPageFormatPaper(pageFormat, &paper) == noErr) { - pageSize = createPageSize(paper); + if (PMCreatePageFormat(&pageFormat) == noErr) { + if (PMSessionDefaultPageFormat(m_session, pageFormat) == noErr + && PMGetPageFormatPaper(pageFormat, &paper) == noErr) { + pageSize = createPageSize(paper); + } PMRelease(pageFormat); } return pageSize; |