Not sure why, but when do_draw method is overriden in the widget subclass, the parent widget's do_draw() method is not called, thus leading to this bug.
Not sure why, but when do_draw method is overriden in the widget subclass, the parent widget's do_draw() method is not called, thus leading to this bug.