if (!GTK_WIDGET_VISIBLE(child)) continue;
static void panels_size_allocate(GtkWidget *widget, GtkAllocation *alloc){    Panels *panels;    GtkWidget *child;    GList *children;    gint border;    g_return_if_fail(widget != NULL);    g_return_if_fail(IS_PANELS(widget));    g_return_if_fail(alloc != NULL);    panels = PANELS(widget);    widget->allocation = *alloc;    border = GTK_CONTAINER(panels)->border_width;    for (children = panels->children;         children && (child = children->data);         children = children->next) {        GtkAllocation call;        /* Only take visible widgets into account. */        if (!GTK_WIDGET_VISIBLE(child))            continue;        call.x = alloc->x + border;        call.width = alloc->width - 2*border;        call.y = alloc->y + border;        call.height = alloc->height - 2*border;        gtk_widget_size_allocate(child, &call);    }}