diff -ur '--exclude=*.mk' '--exclude=mandelbulber' mandelbulber0.94/src/callbacks.cpp mandelbulber0.94-happy_quit/src/callbacks.cpp --- mandelbulber0.94/src/callbacks.cpp 2010-10-10 11:47:11.000000000 +0100 +++ mandelbulber0.94-happy_quit/src/callbacks.cpp 2010-10-19 09:57:10.000000000 +0100 @@ -349,6 +349,13 @@ printf("Rendering terminated\n"); } +void StopRenderingAndQuit(void) +{ + StopRendering(NULL, NULL); + gtk_main_quit(); + printf("Quitting\n"); +} + void PressedApplyBrigtness(GtkWidget *widget, gpointer data) { sParamRender params; diff -ur '--exclude=*.mk' '--exclude=mandelbulber' mandelbulber0.94/src/callbacks.h mandelbulber0.94-happy_quit/src/callbacks.h --- mandelbulber0.94/src/callbacks.h 2010-10-09 19:54:57.000000000 +0100 +++ mandelbulber0.94-happy_quit/src/callbacks.h 2010-10-19 09:55:34.000000000 +0100 @@ -24,6 +24,7 @@ gboolean on_dareaSound_expose(GtkWidget *widget, GdkEventExpose *event, gpointer user_data); void StartRendering(GtkWidget *widget, gpointer data); void StopRendering(GtkWidget *widget, gpointer data); +void StopRenderingAndQuit(void); void PressedApplyBrigtness(GtkWidget *widget, gpointer data); void PressedLoadSettings(GtkWidget *widget, gpointer data); void PressedSaveSettings(GtkWidget *widget, gpointer data); diff -ur '--exclude=*.mk' '--exclude=mandelbulber' mandelbulber0.94/src/interface.cpp mandelbulber0.94-happy_quit/src/interface.cpp --- mandelbulber0.94/src/interface.cpp 2010-10-03 18:44:32.000000000 +0100 +++ mandelbulber0.94-happy_quit/src/interface.cpp 2010-10-19 09:53:07.000000000 +0100 @@ -839,8 +839,8 @@ //------------- glowne okno renderowania window2 = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window2), "Mandelbulb Render Window"); - g_signal_connect(G_OBJECT(window2), "destroy", G_CALLBACK(gtk_main_quit), NULL); - g_signal_connect(G_OBJECT(window2), "delete_event", G_CALLBACK(gtk_main_quit), NULL); + g_signal_connect(G_OBJECT(window2), "destroy", G_CALLBACK(StopRenderingAndQuit), NULL); + g_signal_connect(G_OBJECT(window2), "delete_event", G_CALLBACK(StopRenderingAndQuit), NULL); gtk_widget_add_events(GTK_WIDGET(window2), GDK_CONFIGURE); g_signal_connect(G_OBJECT(window2), "configure-event", G_CALLBACK(WindowReconfigured), NULL); @@ -885,8 +885,8 @@ window_histogram = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window_histogram), "left - number of iterations (max 64) / right - number of steps (max. 1000)"); - g_signal_connect(G_OBJECT(window_histogram), "destroy", G_CALLBACK(gtk_main_quit), NULL); - g_signal_connect(G_OBJECT(window_histogram), "delete_event", G_CALLBACK(gtk_main_quit), NULL); + g_signal_connect(G_OBJECT(window_histogram), "destroy", G_CALLBACK(StopRenderingAndQuit), NULL); + g_signal_connect(G_OBJECT(window_histogram), "delete_event", G_CALLBACK(StopRenderingAndQuit), NULL); //glowny box w oknie GtkWidget *box2 = gtk_vbox_new(FALSE, 0);