Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/intern/wm_init_exit.c
| Show First 20 Lines • Show All 422 Lines • ▼ Show 20 Lines | void wm_exit_schedule_delayed(const bContext *C) | ||||
| wmWindow *win = CTX_wm_window(C); | wmWindow *win = CTX_wm_window(C); | ||||
| /* Use modal UI handler for now. | /* Use modal UI handler for now. | ||||
| * Could add separate WM handlers or so, but probably not worth it. */ | * Could add separate WM handlers or so, but probably not worth it. */ | ||||
| WM_event_add_ui_handler(C, &win->modalhandlers, wm_exit_handler, NULL, NULL, 0); | WM_event_add_ui_handler(C, &win->modalhandlers, wm_exit_handler, NULL, NULL, 0); | ||||
| WM_event_add_mousemove(win); /* ensure handler actually gets called */ | WM_event_add_mousemove(win); /* ensure handler actually gets called */ | ||||
| } | } | ||||
| void UV_clipboard_free(void); | |||||
| void WM_exit_ex(bContext *C, const bool do_python) | void WM_exit_ex(bContext *C, const bool do_python) | ||||
| { | { | ||||
| wmWindowManager *wm = C ? CTX_wm_manager(C) : NULL; | wmWindowManager *wm = C ? CTX_wm_manager(C) : NULL; | ||||
| /* first wrap up running stuff, we assume only the active WM is running */ | /* first wrap up running stuff, we assume only the active WM is running */ | ||||
| /* modal handlers are on window level freed, others too? */ | /* modal handlers are on window level freed, others too? */ | ||||
| /* NOTE: same code copied in `wm_files.c`. */ | /* NOTE: same code copied in `wm_files.c`. */ | ||||
| if (C && wm) { | if (C && wm) { | ||||
| ▲ Show 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | if (wm) { | ||||
| wm_free_reports(wm); | wm_free_reports(wm); | ||||
| } | } | ||||
| SEQ_clipboard_free(); /* sequencer.c */ | SEQ_clipboard_free(); /* sequencer.c */ | ||||
| BKE_tracking_clipboard_free(); | BKE_tracking_clipboard_free(); | ||||
| BKE_mask_clipboard_free(); | BKE_mask_clipboard_free(); | ||||
| BKE_vfont_clipboard_free(); | BKE_vfont_clipboard_free(); | ||||
| BKE_node_clipboard_free(); | BKE_node_clipboard_free(); | ||||
| UV_clipboard_free(); | |||||
| #ifdef WITH_COMPOSITOR_CPU | #ifdef WITH_COMPOSITOR_CPU | ||||
| COM_deinitialize(); | COM_deinitialize(); | ||||
| #endif | #endif | ||||
| BKE_subdiv_exit(); | BKE_subdiv_exit(); | ||||
| if (opengl_is_init) { | if (opengl_is_init) { | ||||
| ▲ Show 20 Lines • Show All 120 Lines • Show Last 20 Lines | |||||