Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/windowmanager/intern/wm_init_exit.c')
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c27
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();
}