uv stitch was executing on Enter-key release, making it not work when starting from...
authorCampbell Barton <ideasman42@gmail.com>
Mon, 12 Nov 2012 22:52:16 +0000 (22:52 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 12 Nov 2012 22:52:16 +0000 (22:52 +0000)
source/blender/editors/uvedit/uvedit_smart_stitch.c

index b1945c37048943d00ba2b269fa3234b2ea57cf9e..e10d70d48d105971b25b7a7ad8e7dc4192a13707 100644 (file)
@@ -1444,18 +1444,22 @@ static int stitch_modal(bContext *C, wmOperator *op, wmEvent *event)
                        }
                case PADENTER:
                case RETKEY:
-                       if (stitch_process_data(stitch_state, scene, 1)) {
-                               stitch_exit(C, op, 1);
-                               return OPERATOR_FINISHED;
+                       if (event->val == KM_PRESS) {
+                               if (stitch_process_data(stitch_state, scene, 1)) {
+                                       stitch_exit(C, op, 1);
+                                       return OPERATOR_FINISHED;
+                               }
+                               else {
+                                       return stitch_cancel(C, op);
+                               }
                        }
                        else {
-                               return stitch_cancel(C, op);
+                               return OPERATOR_PASS_THROUGH;
                        }
-
                /* Increase limit */
                case PADPLUSKEY:
                case WHEELUPMOUSE:
-                       if (event->alt) {
+                       if (event->val == KM_PRESS && event->alt) {
                                stitch_state->limit_dist += 0.01f;
                                if (!stitch_process_data(stitch_state, scene, 0)) {
                                        return stitch_cancel(C, op);
@@ -1468,7 +1472,7 @@ static int stitch_modal(bContext *C, wmOperator *op, wmEvent *event)
                /* Decrease limit */
                case PADMINUS:
                case WHEELDOWNMOUSE:
-                       if (event->alt) {
+                       if (event->val == KM_PRESS && event->alt) {
                                stitch_state->limit_dist -= 0.01f;
                                stitch_state->limit_dist = MAX2(0.01f, stitch_state->limit_dist);
                                if (!stitch_process_data(stitch_state, scene, 0)) {