diff --git a/src/plugins/platforms/cocoa/qcocoaprintdevice.mm b/src/plugins/platforms/cocoa/qcocoaprintdevice.mm index b3551e2c29aedbe33b81f14abea754123cc13b1e..c26a2b22fdc8ed6f0eafd12cbbcaf85c9c2c061d 100644 --- a/src/plugins/platforms/cocoa/qcocoaprintdevice.mm +++ b/src/plugins/platforms/cocoa/qcocoaprintdevice.mm @@ -468,11 +468,11 @@ bool QCocoaPrintDevice::openPpdFile() CFURLRef ppdURL = NULL; char ppdPath[MAXPATHLEN]; if (PMPrinterCopyDescriptionURL(m_printer, kPMPPDDescriptionType, &ppdURL) == noErr - && ppdURL != NULL - && CFURLGetFileSystemRepresentation(ppdURL, true, (UInt8*)ppdPath, sizeof(ppdPath))) { - m_ppd = ppdOpenFile(ppdPath); + && ppdURL != NULL) { + if (CFURLGetFileSystemRepresentation(ppdURL, true, (UInt8*)ppdPath, sizeof(ppdPath))) + m_ppd = ppdOpenFile(ppdPath); + CFRelease(ppdURL); } - CFRelease(ppdURL); return m_ppd ? true : false; }