Disable cocoa invalidation on macOS > 14 by default

This commit is contained in:
Robin Gareus
2025-02-24 19:33:05 +01:00
parent 978495c4f9
commit 898ac01e25
2 changed files with 17 additions and 0 deletions

View File

@@ -37,6 +37,7 @@
#include "ardour_ui.h"
#include "actions.h"
#include "ui_config.h"
#include "opts.h"
#include <CoreFoundation/CFLocale.h>
@@ -208,3 +209,9 @@ use_cocoa_invalidation (int yn)
gdk_quartz_set_use_cocoa_invalidation (yn);
std::cerr << "cocoa invalidation: " << yn << std::endl;
}
void
set_default_cocoa_invalidation ()
{
UIConfiguration::instance ().set_use_cocoa_invalidation (gdk_quartz_osx_version () <= GDK_OSX_VENTURA);
}

View File

@@ -70,6 +70,10 @@ using namespace PBD;
using namespace ARDOUR;
using namespace ARDOUR_UI_UTILS;
#ifdef __APPLE__
extern void set_default_cocoa_invalidation (); // cocoacarbon.mm
#endif
NewUserWizard::NewUserWizard ()
: _splash_pushed (false)
, config_modified (false)
@@ -117,6 +121,12 @@ NewUserWizard::required ()
if (Glib::file_test (ARDOUR::been_here_before_path (), Glib::FILE_TEST_EXISTS)) {
return false;
}
#ifdef __APPLE__
/* since we cannot use std::optional<bool> as UI_CONFIG_VARIABLE
* this is likely the best place for a special case..
*/
set_default_cocoa_invalidation ();
#endif
return true;
}