diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_init_exit.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_init_exit.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index c1af7153b62..c51d4c5534a 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -35,6 +35,7 @@ #include <string.h> #ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN # include <windows.h> #endif @@ -119,6 +120,7 @@ #include "GPU_material.h" #include "GPU_draw.h" +#include "GPU_immediate.h" #include "GPU_init_exit.h" #include "BKE_sound.h" @@ -207,17 +209,20 @@ void WM_init(bContext *C, int argc, const char **argv) BKE_addon_pref_type_init(); wm_operatortype_init(); + wm_operatortypes_register(); + + WM_paneltype_init(); /* Lookup table only. */ WM_menutype_init(); WM_uilisttype_init(); - wm_manipulatortype_init(); - wm_manipulatorgrouptype_init(); + wm_gizmotype_init(); + wm_gizmogrouptype_init(); ED_undosys_type_init(); BKE_library_callback_free_window_manager_set(wm_close_and_free); /* library.c */ BKE_library_callback_free_notifier_reference_set(WM_main_remove_notifier_reference); /* library.c */ - BKE_region_callback_free_manipulatormap_set(wm_manipulatormap_remove); /* screen.c */ - BKE_region_callback_refresh_tag_manipulatormap_set(WM_manipulatormap_tag_refresh); + BKE_region_callback_free_gizmomap_set(wm_gizmomap_remove); /* screen.c */ + BKE_region_callback_refresh_tag_gizmomap_set(WM_gizmomap_tag_refresh); BKE_library_callback_remap_editor_id_reference_set(WM_main_remap_editor_id_reference); /* library.c */ BKE_blender_callback_test_break_set(wm_window_testbreak); /* blender.c */ BKE_spacedata_callback_id_remap_set(ED_spacedata_id_remap); /* screen.c */ @@ -451,6 +456,7 @@ void WM_exit_ext(bContext *C, const bool do_python) } } + WM_paneltype_clear(); BKE_addon_pref_type_free(); wm_operatortype_free(); wm_dropbox_free(); @@ -491,8 +497,6 @@ void WM_exit_ext(bContext *C, const bool do_python) #endif GPU_free_unused_buffers(G_MAIN); - - GPU_exit(); } BKE_blender_free(); /* blender.c, does entire library and spacetypes */ @@ -505,15 +509,18 @@ void WM_exit_ext(bContext *C, const bool do_python) ED_gpencil_strokes_copybuf_free(); BKE_node_clipboard_clear(); - /* free manipulator-maps after freeing blender, so no deleted data get accessed during cleaning up of areas */ - wm_manipulatormaptypes_free(); - wm_manipulatorgrouptype_free(); - wm_manipulatortype_free(); + /* free gizmo-maps after freeing blender, so no deleted data get accessed during cleaning up of areas */ + wm_gizmomaptypes_free(); + wm_gizmogrouptype_free(); + wm_gizmotype_free(); BLF_exit(); if (opengl_is_init) { + DRW_opengl_context_enable_ex(false); GPU_pass_cache_free(); + GPU_exit(); + DRW_opengl_context_disable_ex(false); DRW_opengl_context_destroy(); } |