diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-10-14 13:57:50 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-10-14 14:08:44 +0400 |
commit | f23cf22125edb805399b351a8ecf7408f2f23b22 (patch) | |
tree | 96b1bc6f97628b625193d108f42f30146f36ee5f /source/blender/editors/interface/interface_regions.c | |
parent | 20c233f3af344579fb14ea6cf1617e0c4021a31e (diff) |
Pie menus:
* Only use last key for pies if it hasn't been released already
* Confirm threshold is now measured as distance after regular threshold.
zero disables.
* Only display the confirm threshold if there's a valid direction (mouse
is after threshold).
* Calculate confirm threshold taking recentering into account
Diffstat (limited to 'source/blender/editors/interface/interface_regions.c')
-rw-r--r-- | source/blender/editors/interface/interface_regions.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 353106db8df..1574ceace8a 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -2732,10 +2732,18 @@ uiPieMenu *uiPieMenuBegin(struct bContext *C, const char *title, int icon, const win->lock_pie_event = EVENT_NONE; } else { - if (win->last_pie_event != EVENT_NONE) - event_type = win->last_pie_event; - else + if (win->last_pie_event != EVENT_NONE) { + /* original pie key has been released, so don't propagate the event */ + if (win->lock_pie_event == EVENT_NONE) { + event_type = EVENT_NONE; + pie->block_radial->pie_data.flags |= UI_PIE_CLICK_STYLE; + } + else + event_type = win->last_pie_event; + } + else { event_type = event->type; + } pie->block_radial->pie_data.event = event_type; win->lock_pie_event = event_type; |