ui/gtk/toolkit.c

changeset 674
51670b0bc625
parent 673
90a32d739b8e
child 699
148618eff948
equal deleted inserted replaced
673:90a32d739b8e 674:51670b0bc625
110 void ui_onexit(ui_callback f, void *userdata) { 110 void ui_onexit(ui_callback f, void *userdata) {
111 exit_func = f; 111 exit_func = f;
112 exit_data = userdata; 112 exit_data = userdata;
113 } 113 }
114 114
115 void ui_app_onexit(void) {
116 uic_store_app_properties();
117 }
118
119 void ui_app_exit_on_shutdown(UiBool exitapp) { 115 void ui_app_exit_on_shutdown(UiBool exitapp) {
120 exit_on_shutdown = exitapp; 116 exit_on_shutdown = exitapp;
121 } 117 }
122 118
123 #ifdef UI_APPLICATION 119 #ifdef UI_APPLICATION
133 129
134 static void app_shutdown(GtkApplication *app, gpointer userdata) { 130 static void app_shutdown(GtkApplication *app, gpointer userdata) {
135 if(exit_func) { 131 if(exit_func) {
136 exit_func(NULL, exit_data); 132 exit_func(NULL, exit_data);
137 } 133 }
138 ui_app_onexit(); 134 ui_app_save_settings();
139 } 135 }
140 136
141 #endif 137 #endif
142 138
143 void ui_main() { 139 void ui_main() {
159 } 155 }
160 gtk_main(); 156 gtk_main();
161 if(exit_func) { 157 if(exit_func) {
162 exit_func(NULL, exit_data); 158 exit_func(NULL, exit_data);
163 } 159 }
164 ui_app_onexit(); 160 ui_app_save_settings();
165 #endif 161 #endif
166 if(exit_on_shutdown) { 162 if(exit_on_shutdown) {
167 exit(0); 163 exit(0);
168 } 164 }
169 } 165 }

mercurial