Fix mac deprecation using __MAC_OS_X_VERSION_MIN_REQUIRED (available don't work as expected)
This commit is contained in:
parent
f351f63b58
commit
1eaff569c9
1 changed files with 10 additions and 3 deletions
|
|
@ -6,6 +6,7 @@
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QRect>
|
#include <QRect>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
|
#include <Availability.h>
|
||||||
|
|
||||||
void DesktopTools::init(){
|
void DesktopTools::init(){
|
||||||
}
|
}
|
||||||
|
|
@ -170,6 +171,7 @@ QImage DesktopTools::getWindowIcon(void *window) {
|
||||||
}
|
}
|
||||||
|
|
||||||
QImage DesktopTools::takeScreenshot(void *window) {
|
QImage DesktopTools::takeScreenshot(void *window) {
|
||||||
|
#if __MAC_OS_X_VERSION_MIN_REQUIRED > 140000
|
||||||
__block bool haveAccess = false;
|
__block bool haveAccess = false;
|
||||||
// Must be call from main thread! If not, you may be in deadlock.
|
// Must be call from main thread! If not, you may be in deadlock.
|
||||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||||
|
|
@ -246,9 +248,14 @@ QImage DesktopTools::takeScreenshot(void *window) {
|
||||||
[capture release];
|
[capture release];
|
||||||
return image;
|
return image;
|
||||||
// Deprecated:
|
// Deprecated:
|
||||||
//CGWindowID windowId = *(CGWindowID*)&window;
|
#else
|
||||||
//CGImageRef capture = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowId, kCGWindowImageBoundsIgnoreFraming);
|
#pragma clang diagnostic push
|
||||||
//return CGImageToQImage(capture);
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
CGWindowID windowId = *(CGWindowID*)&window;
|
||||||
|
CGImageRef capture = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowId, kCGWindowImageBoundsIgnoreFraming);
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
return CGImageToQImage(capture);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue