+extern "C" {
+static void size_allocate(GtkWidget* widget, GtkAllocation* alloc, void*)
+{
+ // clip label as GTK >= 2.12 does
+ GtkWidget* label_widget = gtk_frame_get_label_widget(GTK_FRAME(widget));
+ int w = alloc->width -
+ 2 * gtk_widget_get_style(widget)->xthickness - 2 * LABEL_PAD - 2 * LABEL_SIDE_PAD;
+ if (w < 0)
+ w = 0;
+
+ GtkAllocation a;
+ gtk_widget_get_allocation(label_widget, &a);
+ if (a.width > w)
+ {
+ a.width = w;
+ gtk_widget_size_allocate(label_widget, &a);
+ }
+}
+}
+
+//-----------------------------------------------------------------------------
+// wxStaticBox
+//-----------------------------------------------------------------------------