gtk2/quartz on OSX 10.14 - scrolling broken if dark mode is active
Steps to reproduce
- Enforce non-aqua appearance using
defaults write -g NSRequiresAquaSystemAppearance -bool false
- Run gtk2 app (e.g. gtk-demo or GIMP)
- Try to scroll any scrollable window
Current behavior
Update on scrolling is broken - e.g. only part of the scroll-able area is updated, text became unreadable, etc.
Expected outcome
Scrolling should work as expected
Version information
2.24.32/OSX, using gtk-osx jhbuild env.
Additional information
On every scroll LLDB shows number of errors:
2018-11-01 07:57:51.874727+0100 gtk-demo[2866:125549] [gtk-demo] CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
2018-11-01 07:57:51.874746+0100 gtk-demo[2866:125549] [gtk-demo] CGContextConcatCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
2018-11-01 07:57:51.874765+0100 gtk-demo[2866:125549] [gtk-demo] CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
2018-11-01 07:57:51.874830+0100 gtk-demo[2866:125549] [gtk-demo] CGContextSetCompositeOperation: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
2018-11-01 07:57:51.874861+0100 gtk-demo[2866:125549] [gtk-demo] CGContextDrawImages: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
2018-11-01 07:57:51.874885+0100 gtk-demo[2866:125549] [gtk-demo] CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
2018-11-01 07:57:51.874902+0100 gtk-demo[2866:125549] [gtk-demo] CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
If CG_CONTEXT_SHOW_BACKTRACE is set i am getting such traces:
2018-11-01 07:59:06.774529+0100 gtk-demo[2887:127241] [gtk-demo] CGContextRestoreGState: invalid context 0x0. Backtrace:
<_ZN20CUICoreThemeRenderer19DrawWindowBottomBarEPK13CUIDescriptor+2466>
<_ZN11CUIRenderer4DrawE6CGRectP9CGContextPK14__CFDictionaryPS5_+1719>
<CUIDraw+278>
<__44-[NSAppearance _drawInRect:context:options:]_block_invoke+47>
<-[NSCompositeAppearance _callCoreUIWithBlock:options:]+364>
<-[NSAppearance _drawInRect:context:options:]+105>
<-[NSThemeFrame _maskCorners:clipRect:]+235>
<-[NSWindow _maskRoundedBottomCorners:]+192>
<-[NSView displayIfNeeded]+1526>
<_gdk_windowing_after_process_all_updates+124>
<gdk_window_process_all_updates+245>
<gdk_window_update_idle+9>
<gdk_threads_dispatch+53>
<g_main_context_dispatch+258>
<g_main_context_iterate+426>
<g_main_loop_run+191>
<gtk_main+177>
<main+1537> <start+1>
Edited by Alex Samorukov