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:
authorSybren A. Stüvel <sybren@blender.org>2020-01-20 19:33:10 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-01-20 19:33:10 +0300
commit89b6a7bae9160d762f085eff8e927bdac1a60801 (patch)
treec0a9985e5902d91d19d6341e537d737bbb76526d /source/blender/editors/mesh
parent587ca9e69b85195827fea372c880f6ba45ca83b7 (diff)
parent31e2786707049c40b9d8639639fd16a5cc0dce13 (diff)
Merge remote-tracking branch 'origin/blender-v2.82-release'
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r--source/blender/editors/mesh/editmesh_bevel.c6
-rw-r--r--source/blender/editors/mesh/editmesh_inset.c9
2 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/editors/mesh/editmesh_bevel.c b/source/blender/editors/mesh/editmesh_bevel.c
index 02e4d0eb708..42fa3db7c57 100644
--- a/source/blender/editors/mesh/editmesh_bevel.c
+++ b/source/blender/editors/mesh/editmesh_bevel.c
@@ -95,6 +95,7 @@ typedef struct {
uint ob_store_len;
/* modal only */
+ int launch_event;
float mcenter[2];
void *draw_handle_pixel;
short gizmo_flag;
@@ -520,6 +521,8 @@ static int edbm_bevel_invoke(bContext *C, wmOperator *op, const wmEvent *event)
opdata = op->customdata;
+ opdata->launch_event = WM_userdef_event_type_from_keymap_type(event->type);
+
/* initialize mouse values */
if (!calculateTransformCenter(C, V3D_AROUND_CENTER_MEDIAN, center_3d, opdata->mcenter)) {
/* in this case the tool will likely do nothing,
@@ -710,7 +713,8 @@ static int edbm_bevel_modal(bContext *C, wmOperator *op, const wmEvent *event)
short eval = event->val;
/* When activated from toolbar, need to convert leftmouse release to confirm */
- if (etype == LEFTMOUSE && eval == KM_RELEASE && RNA_boolean_get(op->ptr, "release_confirm")) {
+ if (ELEM(etype, LEFTMOUSE, opdata->launch_event) && (eval == KM_RELEASE) &&
+ RNA_boolean_get(op->ptr, "release_confirm")) {
etype = EVT_MODAL_MAP;
eval = BEV_MODAL_CONFIRM;
}
diff --git a/source/blender/editors/mesh/editmesh_inset.c b/source/blender/editors/mesh/editmesh_inset.c
index 9e004f3e289..a1b1ea31ead 100644
--- a/source/blender/editors/mesh/editmesh_inset.c
+++ b/source/blender/editors/mesh/editmesh_inset.c
@@ -72,6 +72,7 @@ typedef struct {
uint ob_store_len;
/* modal only */
+ int launch_event;
float mcenter[2];
void *draw_handle_pixel;
short gizmo_flag;
@@ -348,6 +349,8 @@ static int edbm_inset_invoke(bContext *C, wmOperator *op, const wmEvent *event)
opdata = op->customdata;
+ opdata->launch_event = WM_userdef_event_type_from_keymap_type(event->type);
+
/* initialize mouse values */
if (!calculateTransformCenter(C, V3D_AROUND_CENTER_MEDIAN, center_3d, opdata->mcenter)) {
/* in this case the tool will likely do nothing,
@@ -389,6 +392,12 @@ static int edbm_inset_modal(bContext *C, wmOperator *op, const wmEvent *event)
return OPERATOR_CANCELLED;
}
}
+ else if ((event->type == opdata->launch_event) && (event->val == KM_RELEASE) &&
+ RNA_boolean_get(op->ptr, "release_confirm")) {
+ edbm_inset_calc(op);
+ edbm_inset_exit(C, op);
+ return OPERATOR_FINISHED;
+ }
else {
bool handled = false;
switch (event->type) {