Revision: 26346
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26346
Author:   theeth
Date:     2010-01-27 18:01:41 +0100 (Wed, 27 Jan 2010)

Log Message:
-----------
[#20792] MMB emulation, release broken

Store last mmb event value to make emulation work when modifier keys are 
released first.

This is done in a not so nice way for now. Eventually, I'd like for emulation 
keys to have their own data structures (user creatable and all that)

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 
2010-01-27 16:13:05 UTC (rev 26345)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 
2010-01-27 17:01:41 UTC (rev 26346)
@@ -808,20 +808,24 @@
 
 static void wm_eventemulation(wmEvent *event)
 {
+       static int mmb_emulated = 0; /* this should be in a data structure 
somwhere */
+       
        /* middlemouse emulation */
        if(U.flag & USER_TWOBUTTONMOUSE) {
-               if(event->type == LEFTMOUSE && event->alt) {
+               if(event->type == LEFTMOUSE && (event->alt || mmb_emulated == 
KM_PRESS)) {
                        event->type = MIDDLEMOUSE;
                        event->alt = 0;
+                       mmb_emulated = event->val;
                }
        }
 
 #ifdef __APPLE__
        /* rightmouse emulation */
        if(U.flag & USER_TWOBUTTONMOUSE) {
-               if(event->type == LEFTMOUSE && event->oskey) {
+               if(event->type == LEFTMOUSE && (event->oskey || mmb_emulated == 
KM_PRESS) {
                        event->type = RIGHTMOUSE;
                        event->oskey = 0;
+                       mmb_emulated = event->val;
                }
        }
 #endif


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

Reply via email to