From 1b05312da9f940a89c19dd33bfc4eaafa481fcd7 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Fri, 4 Apr 2014 17:59:23 -0400 Subject: [PATCH] Mac OS X indeterminate progresbars were not animating under certain conditions; fix that. --- sysdata_darwin.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sysdata_darwin.go b/sysdata_darwin.go index 05eabf1..40c9480 100644 --- a/sysdata_darwin.go +++ b/sysdata_darwin.go @@ -479,6 +479,8 @@ func (s *sysData) setProgress(percent int) { defer close(ret) uitask <- func() { if percent == -1 { + // At least on Mac OS X 10.8, if the progressbar was already on 0 or 100% when turning on indeterminate mode, the indeterminate animation won't play, leaving just a still progress bar. This is a workaround. Note the selector call order. + C.objc_msgSend_double(s.id, _setDoubleValue, C.double(50)) C.objc_msgSend_bool(s.id, _setIndeterminate, C.BOOL(C.YES)) } else { C.objc_msgSend_bool(s.id, _setIndeterminate, C.BOOL(C.NO))