Index: intern/ghost/intern/GHOST_SystemX11.cpp =================================================================== --- intern/ghost/intern/GHOST_SystemX11.cpp (revision 27420) +++ intern/ghost/intern/GHOST_SystemX11.cpp (working copy) @@ -549,7 +549,7 @@ GHOST_SystemX11::processEvent(XEvent *xe) } case ButtonRelease: { - + bool dobreak = false; XButtonEvent & xbe = xe->xbutton; GHOST_TButtonMask gbmask = GHOST_kButtonMaskLeft; switch (xbe.button) { @@ -561,10 +561,13 @@ GHOST_SystemX11::processEvent(XEvent *xe) */ case 8 : gbmask = GHOST_kButtonMaskButton4; break; /* Button4 is the wheel */ case 9 : gbmask = GHOST_kButtonMaskButton5; break; /* Button5 is a wheel too */ - default: case Button2 : gbmask = GHOST_kButtonMaskMiddle; break; + default: dobreak = true; break; } + if(dobreak) + break; + GHOST_TEventType type = (xbe.type == ButtonPress) ? GHOST_kEventButtonDown : GHOST_kEventButtonUp;