+static void show(GtkWidget* widget)
+{
+ if (widget->parent && WX_PIZZA(widget)->m_border_style)
+ {
+ // invalidate whole allocation so borders will be drawn properly
+ const GtkAllocation& a = widget->allocation;
+ gtk_widget_queue_draw_area(widget->parent, a.x, a.y, a.width, a.height);
+ }
+
+ parent_class->show(widget);
+}
+
+static void hide(GtkWidget* widget)
+{
+ if (widget->parent && WX_PIZZA(widget)->m_border_style)
+ {
+ // invalidate whole allocation so borders will be erased properly
+ const GtkAllocation& a = widget->allocation;
+ gtk_widget_queue_draw_area(widget->parent, a.x, a.y, a.width, a.height);
+ }
+
+ parent_class->hide(widget);
+}
+