Tampoco es que sea un experto en gtk...
Supongo que tendrás una ventana con un par de botones para aceptar y cancelar los datos. Creo que lo que tienes que hacer es, para cuando el usuario pulse el botón para cerrar la ventana o el botón para cancelar, capturar el evento y cerrar la aplicación.
No tengo ni idea de si el código siguiente está bien o no, pero creo que puedes hacerte una idea:
Código:
void destroy( GtkWidget *widget,
gpointer data )
{
gtk_main_quit();
}
void showMainWindow( GtkWidget *widget,
gpointer data )
{
//validar datos
//ocultar los mensajes y mostrar tu ventana principal
}
int main( int argc,
char *argv[] )
{
[...]
//window es la ventana
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (destroy), NULL);
//button es el botón para cancelar
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (destroy), NULL);
gtk_signal_connect (GTK_OBJECT (buttonAceptar), "clicked",
GTK_SIGNAL_FUNC (showMainWindow), NULL);
[...]
}
Espero que te sirva.