Make sure gtk+'s event loop is really exited, when user pressed Alt-F4.

This commit is contained in:
Mirco Müller 2019-04-21 14:26:04 +02:00 committed by MacSlow
parent 6ad19c8c41
commit c4ae9ad938
1 changed files with 5 additions and 2 deletions

View File

@ -3,13 +3,16 @@
#include <gtk/gtk.h>
#include <GL/gl.h>
static void destroy(GtkWidget* widget)
{
gtk_main_quit();
}
static void setup(GtkGLArea *gl)
{
gtk_gl_area_make_current(gl);
}
static gboolean render(GtkGLArea *gl, GdkGLContext *ctx)
{
glBegin(GL_TRIANGLES);
@ -21,13 +24,13 @@ static gboolean render(GtkGLArea *gl, GdkGLContext *ctx)
return TRUE;
}
int main(void) {
/* skip one param, who needs it anyway */
((void (*)(int *))gtk_init)(NULL);
/* setup window */
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window, "destroy", G_CALLBACK(destroy), NULL);
GtkWidget *gl = gtk_gl_area_new();
gtk_container_add(GTK_CONTAINER(window), gl);
g_signal_connect(gl, "realize", G_CALLBACK(setup), NULL);