[gtkada] CoreAnimation: warning, deleted thread with uncommitted CATransaction.
Pascal
p.p14 at orange.fr
Mon Dec 28 19:12:09 CET 2015
Hello.
I've got issues with the following warning:
CoreAnimation: warning, deleted thread with uncommitted CATransaction; set CA_DEBUG_TRANSACTIONS=1 in environment to log backtraces.
And with export CA_DEBUG_TRANSACTIONS=1:
CoreAnimation: warning, deleted thread with uncommitted CATransaction; created by:
0 QuartzCore 0x00007fff89bcf8b6 _ZN2CA11Transaction4pushEv + 318
1 QuartzCore 0x00007fff89bea372 _ZN2CA11Transaction15ensure_implicitEv + 276
2 QuartzCore 0x00007fff89c4497a _ZN2CA11Transaction8set_seedEj + 30
3 QuartzCore 0x00007fff89c4494f +[CATransaction(CATransactionPrivate) generateSeed] + 56
4 AppKit 0x00007fff908c0c0f +[NSDisplayCycle currentDisplayCycle] + 37
5 AppKit 0x00007fff908c24e8 -[NSDisplayCycleObserver setNeedsUpdateStructuralRegions:] + 34
6 AppKit 0x00007fff904b87e6 -[NSThemeFrame _tileTitlebarAndRedisplay:] + 123
7 AppKit 0x00007fff904b7e5f -[NSThemeFrame _updateButtons] + 3068
8 AppKit 0x00007fff904a4636 -[NSThemeFrame _floatTitlebarAndToolbarFromInit:] + 161
9 AppKit 0x00007fff904a0fe9 -[NSThemeFrame initWithFrame:styleMask:owner:] + 243
10 AppKit 0x00007fff9049df74 -[NSWindow _commonInitFrame:styleMask:backing:defer:] + 568
11 AppKit 0x00007fff9049d657 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1475
12 AppKit 0x00007fff9049d08d -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45
13 AppKit 0x00007fff90692a4b -[NSWindow initWithContentRect:styleMask:backing:defer:screen:] + 68
14 libgdk-3.0.dylib 0x0000000101296fc9 -[GdkQuartzNSWindow initWithContentRect:styleMask:backing:defer:screen:] + 153
15 libgdk-3.0.dylib 0x00000001012a7766 _gdk_quartz_display_create_window_impl + 1318
My program is multi-threaded with no problem since I upgraded to MacOS 10.11 and XCode 7.
There are some clues on:
http://stackoverflow.com/questions/12507193/coreanimation-warning-deleted-thread-with-uncommitted-catransaction
On GTK-OSX list, I was told:
"One of the requirements of using Gtk or Quartz in a multi-threaded environment is that all GUI operations take place in the main thread and that other threads use idle events for synchronization."
I was not aware of that rule!
How to do that with GTKAda?
Do you know some examples?
Thanks, Pascal.
http://blady.pagesperso-orange.fr
More information about the gtkada
mailing list