fix bug with mis-positioned widgets in sub-surfaces