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:
authorTon Roosendaal <ton@blender.org>2004-11-06 17:59:28 +0300
committerTon Roosendaal <ton@blender.org>2004-11-06 17:59:28 +0300
commit6e755e5e98145d175bcbcb800174fb0433b17c43 (patch)
treed96f6e3f269babde873de87ea2ce1d3ecb3f0203 /source/blender/src/editview.c
parent6ef4d3aec550aaed724a2b2b91d6822853a41323 (diff)
Fix for bug #1487
On OSX, the SHIFT key release event got lost after a 'mouse pointer warp'. Replaced the warp call in ghost, and updated the fly mode code to read events better. Nice positive side effect; using arrow keys to move while transform (e.g. grab/rotate/scale) goes much much nicer now!
Diffstat (limited to 'source/blender/src/editview.c')
-rw-r--r--source/blender/src/editview.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/src/editview.c b/source/blender/src/editview.c
index 9024589f497..838ddde1771 100644
--- a/source/blender/src/editview.c
+++ b/source/blender/src/editview.c
@@ -1613,20 +1613,22 @@ void fly(void)
warp_pointer(cent[0], cent[1]);
- cent[0]= (curarea->winx)/2;
- cent[1]= (curarea->winy)/2;
+ /* we have to rely on events to give proper mousecoords after a warp_pointer */
+ mval[0]= cent[0]= (curarea->winx)/2;
+ mval[1]= cent[1]= (curarea->winy)/2;
headerprint("Fly");
while(loop) {
- getmouseco_areawin(mval);
+
while(qtest()) {
toets= extern_qread(&val);
if(val) {
- if(toets==ESCKEY) {
+ if(toets==MOUSEY) getmouseco_areawin(mval);
+ else if(toets==ESCKEY) {
VECCOPY(G.vd->camera->loc, oldvec);
VECCOPY(G.vd->camera->rot, oldrot);
loop= 0;