diff --git a/ui/app/gl_macos.m b/ui/app/gl_macos.m index 165188fe..3cadd0a9 100644 --- a/ui/app/gl_macos.m +++ b/ui/app/gl_macos.m @@ -67,6 +67,10 @@ CVDisplayLinkRef displayLink; - (BOOL)isFlipped { return YES; } +- (void)update { + [super update]; + gio_onDraw((__bridge CFTypeRef)self); +} - (void)drawRect:(NSRect)r { gio_onDraw((__bridge CFTypeRef)self); } diff --git a/ui/app/os_macos.go b/ui/app/os_macos.go index 0aa4e2fd..49b86d87 100644 --- a/ui/app/os_macos.go +++ b/ui/app/os_macos.go @@ -170,8 +170,9 @@ func gio_onMouse(view C.CFTypeRef, cdir C.int, x, y, dx, dy C.CGFloat, ti C.doub //export gio_onDraw func gio_onDraw(view C.CFTypeRef) { viewDo(view, func(views viewMap, view C.CFTypeRef) { - w := views[view] - w.draw(true) + if w, exists := views[view]; exists { + w.draw(true) + } }) }