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:
authorDalai Felinto <dfelinto@gmail.com>2015-06-13 17:23:01 +0300
committerDalai Felinto <dfelinto@gmail.com>2015-06-13 17:29:05 +0300
commit54b824106b68ba9850569d4052db97d54a109ac5 (patch)
tree7f25f8fea2593f75ab2b605d356418247dfcf2fb /source/blender/windowmanager/intern/wm_stereo.c
parent0bf0aa6625cdf5ed2ab57e11cfa52ac60e95c965 (diff)
Multi-View: Some Stereo 3D modes require a special drawing all the time
some 3d methods change the window arrangment, thus they shouldn't toggle on/off just because there is no 3d elements being drawn The optimized solution would be to draw only the left eye in those cases, but there is some issue going on with that, so this commit will do for now.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_stereo.c')
-rw-r--r--source/blender/windowmanager/intern/wm_stereo.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm_stereo.c b/source/blender/windowmanager/intern/wm_stereo.c
index 639c6c1d4e6..13567518774 100644
--- a/source/blender/windowmanager/intern/wm_stereo.c
+++ b/source/blender/windowmanager/intern/wm_stereo.c
@@ -370,14 +370,20 @@ bool WM_stereo3d_enabled(wmWindow *win, bool skip_stereo3d_check)
{
bScreen *screen = win->screen;
+ /* some 3d methods change the window arrangment, thus they shouldn't
+ * toggle on/off just because there is no 3d elements being drawn */
+ if (wm_stereo3d_is_fullscreen_required(win->stereo3d_format->display_mode)) {
+ return GHOST_GetWindowState(win->ghostwin) == GHOST_kWindowStateFullScreen;
+ }
+
if ((skip_stereo3d_check == false) && (ED_screen_stereo3d_required(screen) == false)) {
return false;
}
+ /* some 3d methods change the window arrangment, thus they shouldn't
+ * toggle on/off just because there is no 3d elements being drawn */
if (wm_stereo3d_is_fullscreen_required(win->stereo3d_format->display_mode)) {
- if (GHOST_GetWindowState(win->ghostwin) != GHOST_kWindowStateFullScreen) {
- return false;
- }
+ return GHOST_GetWindowState(win->ghostwin) == GHOST_kWindowStateFullScreen;
}
return true;