diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2006-08-27 17:03:23 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2006-08-27 17:03:23 +0400 |
commit | 84205fe0e0bfc524b8fd9ba09aedbf98b0b9457b (patch) | |
tree | c777ed214324cf9279dc91d787868d1bfa6baa6a | |
parent | db88e4c94acd958a9e62be36d2d2fe49648ad811 (diff) |
Bugfix: selection in the sequencer with RMB emulation on Mac OS X
always worked as if shift was pressed.
-rw-r--r-- | source/blender/src/editseq.c | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/source/blender/src/editseq.c b/source/blender/src/editseq.c index 8921718c4f2..eb5c64dbd5d 100644 --- a/source/blender/src/editseq.c +++ b/source/blender/src/editseq.c @@ -411,7 +411,7 @@ void mouse_select_seq(void) seq= find_nearest_seq(&hand); - if(G.qual==0) deselect_all_seq(); + if(!(G.qual & LR_SHIFTKEY)) deselect_all_seq(); if(seq) { last_seq= seq; @@ -427,31 +427,24 @@ void mouse_select_seq(void) } } - if(G.qual==0) { + if((G.qual & LR_SHIFTKEY) && (seq->flag & SELECT)) { + if(hand==0) seq->flag &= SEQ_DESEL; + else if(hand==1) { + if(seq->flag & SEQ_LEFTSEL) + seq->flag &= ~SEQ_LEFTSEL; + else seq->flag |= SEQ_LEFTSEL; + } + else if(hand==2) { + if(seq->flag & SEQ_RIGHTSEL) + seq->flag &= ~SEQ_RIGHTSEL; + else seq->flag |= SEQ_RIGHTSEL; + } + } + else { seq->flag |= SELECT; if(hand==1) seq->flag |= SEQ_LEFTSEL; if(hand==2) seq->flag |= SEQ_RIGHTSEL; } - else { - if(seq->flag & SELECT) { - if(hand==0) seq->flag &= SEQ_DESEL; - else if(hand==1) { - if(seq->flag & SEQ_LEFTSEL) - seq->flag &= ~SEQ_LEFTSEL; - else seq->flag |= SEQ_LEFTSEL; - } - else if(hand==2) { - if(seq->flag & SEQ_RIGHTSEL) - seq->flag &= ~SEQ_RIGHTSEL; - else seq->flag |= SEQ_RIGHTSEL; - } - } - else { - seq->flag |= SELECT; - if(hand==1) seq->flag |= SEQ_LEFTSEL; - if(hand==2) seq->flag |= SEQ_RIGHTSEL; - } - } recurs_sel_seq(seq); } |