diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-02-05 00:26:46 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-02-06 14:21:41 +0300 |
commit | 6081f6c3870718660e984da3fbfcd44c55abcc20 (patch) | |
tree | afe56aefccd7d13a72277c816861bbd6478d931c /source/blender/windowmanager | |
parent | e602fe60c042c7ff0a1ebbe2deab3b347f4ccc86 (diff) |
Fix T47204: selection failing directly after disabling multisample in user prefs.
Now store the multisample setting each window was created with.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index e3172de626a..3e2976bb8e0 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -182,6 +182,7 @@ static void wm_window_match_init(bContext *C, ListBase *wmlist) static void wm_window_substitute_old(wmWindowManager *wm, wmWindow *oldwin, wmWindow *win) { win->ghostwin = oldwin->ghostwin; + win->multisamples = oldwin->multisamples; win->active = oldwin->active; if (win->active) wm->winactive = win; @@ -190,6 +191,7 @@ static void wm_window_substitute_old(wmWindowManager *wm, wmWindow *oldwin, wmWi GHOST_SetWindowUserData(win->ghostwin, win); /* pointer back */ oldwin->ghostwin = NULL; + oldwin->multisamples = 0; win->eventstate = oldwin->eventstate; oldwin->eventstate = NULL; diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 9bb790cd925..932f9994a4a 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -163,6 +163,7 @@ static void wm_ghostwindow_destroy(wmWindow *win) if (win->ghostwin) { GHOST_DisposeWindow(g_system, win->ghostwin); win->ghostwin = NULL; + win->multisamples = 0; } } @@ -432,6 +433,9 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wm if (win->eventstate == NULL) win->eventstate = MEM_callocN(sizeof(wmEvent), "window event state"); + + /* store multisamples window was created with, in case user prefs change */ + win->multisamples = multisamples; /* store actual window size in blender window */ bounds = GHOST_GetClientBounds(win->ghostwin); |