win32-gtk3 work in thread, when exit thread, crash
gtk3.24.34 or 3.24.35 libs by msys2.
code like this:
#include<gtk/gtk.h>
void on_w_destroy(){
gtk_main_quit();
}
gpointer func(gpointer data){
gtk_init(NULL,NULL);
GtkWidget* w;
GtkWidget* button;
w=gtk_window_new(GTK_WINDOW_TOPLEVEL);
button=gtk_button_new_with_label("button");
gtk_container_add(GTK_WINDOW(w),button);
g_signal_connect(w,"destroy",on_w_destroy,NULL);
gtk_widget_show_all(w);
/*if gtk_widget_show(w); only show window ,do not show button,thread exit normal*/
gtk_main();
return 0;
}
int main(){
GThread * th = g_thread_new("myth",(GThreadFunc)func,NULL);
g_thread_join(th);
g_print("thread normal exit");
return 0;
}
Edited by Andre Klapper