使用 Cairo 的 GtkDrawingArea 不适用于 Windows 7

GtkDrawingArea using Cairo doesn't apply in Windows 7

我在 Windows 7 64 位和 Fedora 21 64 位中使用 GTK+ 2.24。我使用 Cairo 将绘图区域绘制为白色。它适用于 Fedora,但不适用于 Windows。有谁知道原因吗?

这是我的代码:

static gboolean draw_background_cb(GtkWidget *widget _U_, cairo_t *cr, gpointer data _U_)
{
    /* Set background color */
    cairo_set_source_rgb(cr, 1, 1, 1);
    cairo_rectangle(cr, 0, 0, 300, 300);
    cairo_paint(cr);
    return FALSE;
}

int main(int argc, char *argv[])
{
    GtkWidget *window;

    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    g_signal_connect(window, "draw", G_CALLBACK (draw_background), NULL);

    gtk_widget_show(window);

    gtk_main();

    return 0;
}

GTK+ 2 使用 expose-event 而不是 draw 进行绘图。我不知道其他区别是什么;对不起。