| 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 } |