"+[CATransaction synchronize] called within transaction" with NSOpenPanel

I'm getting these log messages:

+[CATransaction synchronize] called within transaction

whenever I spawn or resize and NSOpenPanel (or save panel).

To investigate, I created the simplest possible test app, with no window and only this method that I override in AppDelegate.m:


- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

	NSOpenPanel *panel = NSOpenPanel.openPanel;
	panel.allowedFileTypes = @[@"public.plain-text"];
	[panel beginWithCompletionHandler:^(NSModalResponse result) {

	}];

}

This is basically all the code I added. And this still triggers the warning message above. The message is also posted whenever I resize the panel.

I wasn't getting these messages before updating to Ventura.

What am I doing wrong?

Post not yet marked as solved Up vote post of jeanlain Down vote post of jeanlain
2.8k views

Replies

You are not doing anything wrong. That's an issue of NSOpenPanel and there nothing you need to do, it's up to Apple to fix that.

  • Ok thanks. Is the issue acknowledged somewhere?

Add a Comment

Plagues every language that uses the Tk ecosystem. ☹️

I no longer see these log messages after updating to Xcode 15 / macOS 13.6.