A Pango::Layout created by Gtk::Widget::get_pango_context () does not have any font set. The Font is inherited from the layout's context. The actual font is set when the layout is used in on_expose_event() via get_window ()->create_cairo_context (). In some cases we rely on the font-size to calculate the widget's size before rendering. At this point in time there is no drawing context from which to inherit the style. Furthermore, even after a call to `ensure_style()` in the c'tor of a Widget get_font() simply returns the default value. All Widgets that rely an Pango::Layout font size during size-requests have to explicitly set the font. This fixes various overlarge buttons with the initial default layout.
36 KiB
36 KiB