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>
bb10
Morten Johan Sørvig 2014-04-07 09:26:48 +02:00 committed by The Qt Project
parent 0e62671bc0
commit c92fead433
1 changed files with 5 additions and 4 deletions

View File

@ -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;