Bugfix #27768
On clicking in a non-active Blender window (when you activated others), the mouse position of the first click was still the old position. Problem is in GHOST; it sends out the 'activate window' event after the mouseclick event itself. Code now checks for this case and reads the correct mouse position.
This commit is contained in:
@@ -2449,6 +2449,16 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
|
|||||||
else
|
else
|
||||||
event.type= MIDDLEMOUSE;
|
event.type= MIDDLEMOUSE;
|
||||||
|
|
||||||
|
if(win->active==0) {
|
||||||
|
int cx, cy;
|
||||||
|
|
||||||
|
/* entering window, update mouse pos. (ghost sends win-activate *after* the mouseclick in window!) */
|
||||||
|
wm_get_cursor_position(win, &cx, &cy);
|
||||||
|
|
||||||
|
event.x= evt->x= cx;
|
||||||
|
event.y= evt->y= cy;
|
||||||
|
}
|
||||||
|
|
||||||
/* add to other window if event is there (not to both!) */
|
/* add to other window if event is there (not to both!) */
|
||||||
owin= wm_event_cursor_other_windows(wm, win, &event);
|
owin= wm_event_cursor_other_windows(wm, win, &event);
|
||||||
if(owin) {
|
if(owin) {
|
||||||
|
Reference in New Issue
Block a user