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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to