Skip to content

650D, 700D, EOS-M: cleaner method for hiding Canon bottom bar

Alex requested to merge branch/cleaner-lvapp-hack into branch/unified

The problem: Canon's bottom bar (which appears when you press shutter halfway, or when you change exposure parameters) pops over ML bottom bar. Until now, these cameras used a pretty aggressive method to prevent this - clearing the screen and blocking Canon redraws completely while their bottom bar was active.

This caused weird conflicts between Canon and ML GUIs, like this one: http://www.magiclantern.fm/forum/index.php?topic=16131.0

This PR enables the method used on many newer cameras, e.g. 5D3, 70D.

It should behave like this:

  • when you change exposure parameters from the scrollwheel, Canon bottom bar should not pop up at all
  • when you press the shutter halfway, Canon bottom bar should appear, and ML bar should not redraw over it (sorry, couldn't block it on 5D3 either)
  • 650D and 700D: after you use Canon's Q menu in LiveView, it should disappear right away, and redraw the GUI (cropmarks, zebras, whatever). By default, this Q menu disappears after a couple of seconds after you quit it, and in the old implementation, I guess it damaged the cropmarks (at least this happens on 60D). Triggering a redraw after the timeout expires doesn't look nice either, because our redraw is slow.
  • Canon's cropmarks (grid lines) should not be affected. With the old implementation, on 60D, Canon grid lines, and ML cropmarks as well, disappear as soon as you press half-shutter or change exposure settings. They reappear after you use the Q menu, but after that menu disappears, ML cropmarks remain with a big hole in them.

So... does this method work nicely on 650D, 700D and M?

Merge request reports