[Bf-blender-cvs] [911fd31] HMD_viewport: Fix HMD device set to 'none' after loading factory settings

Julian Eisel noreply at git.blender.org
Wed Nov 23 02:10:52 CET 2016


Commit: 911fd318944b46b546e1de5d002221f0ee426f49
Author: Julian Eisel
Date:   Wed Nov 23 02:09:30 2016 +0100
Branches: HMD_viewport
https://developer.blender.org/rB911fd318944b46b546e1de5d002221f0ee426f49

Fix HMD device set to 'none' after loading factory settings

We now use the last input device if available.

===================================================================

M	source/blender/editors/interface/CMakeLists.txt
M	source/blender/editors/interface/resources.c
M	source/blender/windowmanager/intern/wm_window.c

===================================================================

diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index c57f8d5..ebc3670 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -79,6 +79,10 @@ if(WIN32)
 	endif()
 endif()
 
+if(WITH_INPUT_HMD)
+	add_definitions(-DWITH_INPUT_HMD)
+endif()
+
 add_definitions(${GL_DEFINITIONS})
 
 blender_add_lib(bf_editor_interface "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index e454634..65ef3b7 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -56,6 +56,8 @@
 #include "UI_interface.h"
 #include "UI_interface_icons.h"
 
+#include "WM_api.h"
+
 #include "interface_intern.h"
 
 /* global for themes */
@@ -2764,7 +2766,15 @@ void init_userdef_do_versions(void)
 	 * (keep this block even if it becomes empty).
 	 */
 	{
-		U.hmd_settings.device = -1;
+#ifdef WITH_INPUT_HMD
+		if (WM_device_HMD_num_devices_get() > -1) {
+			U.hmd_settings.device = 0;
+		}
+		else
+#endif
+		{
+			U.hmd_settings.device = -1;
+		}
 		U.hmd_settings.flag = (USER_HMD_USE_DEVICE_IPD | USER_HMD_USE_DEVICE_ROT);
 		U.hmd_settings.lensdist_shader = GPU_FX_LENSDIST_DK2;
 		U.hmd_settings.custom_ipd = 0.061f;
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index d0af081..ca012d8 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -555,10 +555,12 @@ void wm_window_ghostwindows_ensure(wmWindowManager *wm)
 		if (win->eventstate == NULL)
 			win->eventstate = MEM_callocN(sizeof(wmEvent), "window event state");
 
+#ifdef WITH_INPUT_HMD
 		/* Try to open an HMD device when reading a file that has a running HMD session stored. */
 		if (win == wm->hmd_view.hmd_win && win->screen->is_hmd_running) {
 			WM_device_HMD_state_set(U.hmd_settings.device, true);
 		}
+#endif
 
 		/* add keymap handlers (1 handler for all keys in map!) */
 		keymap = WM_keymap_find(wm->defaultconf, "Window", 0, 0);




More information about the Bf-blender-cvs mailing list