qt: Replace objc_msgSend with native syntax

This commit is contained in:
Hennadii Stepanov
2019-08-25 13:13:39 +03:00
parent db67101c74
commit 0bb33b5348
3 changed files with 18 additions and 13 deletions

View File

@@ -58,9 +58,10 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#include <objc/objc-runtime.h>
#include <CoreServices/CoreServices.h>
#include <QProcess>
void ForceActivation();
#endif
namespace GUIUtil {
@@ -360,10 +361,7 @@ bool isObscured(QWidget *w)
void bringToFront(QWidget* w)
{
#ifdef Q_OS_MAC
// Force application activation on macOS. With Qt 5.4 this is required when
// an action in the dock menu is triggered.
id app = objc_msgSend((id) objc_getClass("NSApplication"), sel_registerName("sharedApplication"));
objc_msgSend(app, sel_registerName("activateIgnoringOtherApps:"), YES);
ForceActivation();
#endif
if (w) {