[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