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:
authorAntony Riakiotakis <kalast@gmail.com>2014-10-14 13:57:50 +0400
committerAntony Riakiotakis <kalast@gmail.com>2014-10-14 14:08:44 +0400
commitf23cf22125edb805399b351a8ecf7408f2f23b22 (patch)
tree96b1bc6f97628b625193d108f42f30146f36ee5f /source/blender/editors/interface/interface_regions.c
parent20c233f3af344579fb14ea6cf1617e0c4021a31e (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.c14
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;