Commit: 5b8c1da8456b86f1cf38cba4a0a9549144d1fb73
Author: Julian Eisel
Date:   Fri Mar 11 04:43:33 2016 +0100
Branches: HMD_viewport
https://developer.blender.org/rB5b8c1da8456b86f1cf38cba4a0a9549144d1fb73

Fix HMD update events missing window

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

M       intern/ghost/GHOST_Types.h
M       intern/ghost/intern/GHOST_EventOpenHMD.h
M       intern/ghost/intern/GHOST_OpenHMDManager.cpp
M       source/blender/windowmanager/intern/wm_event_system.c
M       source/blender/windowmanager/wm_event_types.h

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

diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index 62c44ac..052a5a5 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -201,7 +201,7 @@ typedef enum {
        GHOST_kEventImeComposition,
        GHOST_kEventImeCompositionEnd,
 
-       GHOST_kEventOpenHMD,
+       GHOST_kEventHMD, // HMD - head mounted device (virtual reality)
 
        GHOST_kNumEventTypes
 } GHOST_TEventType;
diff --git a/intern/ghost/intern/GHOST_EventOpenHMD.h 
b/intern/ghost/intern/GHOST_EventOpenHMD.h
index 8149447..dab24ca 100644
--- a/intern/ghost/intern/GHOST_EventOpenHMD.h
+++ b/intern/ghost/intern/GHOST_EventOpenHMD.h
@@ -7,7 +7,7 @@ class GHOST_EventOpenHMD : public GHOST_Event
 {
 public:
     GHOST_EventOpenHMD (GHOST_TUns64 time, GHOST_IWindow *window)
-               : GHOST_Event(time, GHOST_kEventOpenHMD, window)
+               : GHOST_Event(time, GHOST_kEventHMD, window)
        {
                m_data = &m_orientationData;
        }
diff --git a/intern/ghost/intern/GHOST_OpenHMDManager.cpp 
b/intern/ghost/intern/GHOST_OpenHMDManager.cpp
index fe9f171..9461e53 100644
--- a/intern/ghost/intern/GHOST_OpenHMDManager.cpp
+++ b/intern/ghost/intern/GHOST_OpenHMDManager.cpp
@@ -55,11 +55,16 @@ GHOST_OpenHMDManager::~GHOST_OpenHMDManager()
 bool GHOST_OpenHMDManager::processEvents()
 {
        if (m_available) {
-        ohmd_ctx_update(m_context);
+               GHOST_IWindow *window = 
m_system.getWindowManager()->getActiveWindow();
+
+               if (!window)
+                       return false;
+
+               ohmd_ctx_update(m_context);
 
         GHOST_TUns64 now = m_system.getMilliSeconds();
 
-        GHOST_EventOpenHMD *event = new GHOST_EventOpenHMD(now, 
m_system.getWindowManager()->getActiveWindow());
+        GHOST_EventOpenHMD *event = new GHOST_EventOpenHMD(now, window);
         GHOST_TEventOpenHMDData* data = (GHOST_TEventOpenHMDData*) 
event->getData();
         float quat[4];
 
diff --git a/source/blender/windowmanager/intern/wm_event_system.c 
b/source/blender/windowmanager/intern/wm_event_system.c
index 60ec983..09cc171 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -3500,17 +3500,17 @@ void wm_event_add_ghostevent(wmWindowManager *wm, 
wmWindow *win, int type, int U
                        break;
                }
 
-        case GHOST_kEventOpenHMD:
-        {
-            GHOST_TEventOpenHMDData *e = customdata;
+               case GHOST_kEventHMD:
+               {
+                       GHOST_TEventOpenHMDData *e = customdata;
 
-            event.type = EVT_HMD_TRANSFORM;
-            event.customdata = e->orientation;
+                       event.type = EVT_HMD_TRANSFORM;
+                       event.customdata = e->orientation;
 
-            wm_event_add(win, &event);
+                       wm_event_add(win, &event);
 
-            break;
-        }
+                       break;
+               }
 
                case GHOST_kEventUnknown:
                case GHOST_kNumEventTypes:
diff --git a/source/blender/windowmanager/wm_event_types.h 
b/source/blender/windowmanager/wm_event_types.h
index b5bb5ee..7e7ae7e 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -291,7 +291,7 @@ enum {
        NDOF_LAST,
 
        /* VR Viewport transform event */
-    EVT_HMD_TRANSFORM,
+       EVT_HMD_TRANSFORM,
 
        /* ********** End of Input devices. ********** */

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

Reply via email to