move part of gu_update_controls() to gChannel::update() method