std::cerr << "gtk_math_view_realize " << std::endl;
gtk_math_view_realize(GtkWidget* widget){  GtkMathView* math_view;  GdkWindowAttr attributes;  gint attributes_mask;  g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_MATH_VIEW (widget));  std::cerr << "gtk_math_view_realize " << std::endl;  GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);  math_view = GTK_MATH_VIEW (widget);  attributes.x = widget->allocation.x;  attributes.y = widget->allocation.y;  attributes.width = widget->allocation.width;  attributes.height = widget->allocation.height;  attributes.wclass = GDK_INPUT_OUTPUT;  attributes.window_type = GDK_WINDOW_CHILD;  attributes.event_mask = gtk_widget_get_events (widget) |     GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK |     GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK |    GDK_POINTER_MOTION_HINT_MASK;  attributes.visual = gtk_widget_get_visual (widget);  attributes.colormap = gtk_widget_get_colormap (widget);  attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;  widget->window = gdk_window_new (widget->parent->window, &attributes, attributes_mask);  widget->style = gtk_style_attach (widget->style, widget->window);  gdk_window_set_user_data (widget->window, widget);  gtk_style_set_background (widget->style, widget->window, GTK_STATE_ACTIVE);}