[Bf-blender-cvs] [84334bd] master: Fix 37571: Knife Select should be disabled when no faces are selected
Campbell Barton
noreply at git.blender.org
Mon Nov 25 23:47:29 CET 2013
Commit: 84334bde01dd2ed7913cbddeea966b2f0364a2b9
Author: Campbell Barton
Date: Tue Nov 26 09:44:08 2013 +1100
http://developer.blender.org/rB84334bde01dd2ed7913cbddeea966b2f0364a2b9
Fix 37571: Knife Select should be disabled when no faces are selected
also check a similar case for bisect
===================================================================
M release/scripts/addons
M release/scripts/addons_contrib
M source/blender/editors/mesh/editmesh_bisect.c
M source/blender/editors/mesh/editmesh_knife.c
===================================================================
diff --git a/release/scripts/addons b/release/scripts/addons
index 870b946..6501c6c 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 870b9461205e1b5085c9ff75ab602ccdbbc60384
+Subproject commit 6501c6cadfef1804dfa4b7aa2eb208207570a42a
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 4fe6a9e..6695fc6 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 4fe6a9e046f9578a0dadb1186269ac5e406a8c15
+Subproject commit 6695fc64a51fcc64c96bc31c5b209a54d8ea9ba6
diff --git a/source/blender/editors/mesh/editmesh_bisect.c b/source/blender/editors/mesh/editmesh_bisect.c
index 7bc3ff3..c3c4bda 100644
--- a/source/blender/editors/mesh/editmesh_bisect.c
+++ b/source/blender/editors/mesh/editmesh_bisect.c
@@ -36,6 +36,7 @@
#include "BKE_global.h"
#include "BKE_context.h"
#include "BKE_editmesh.h"
+#include "BKE_report.h"
#include "RNA_define.h"
#include "RNA_access.h"
@@ -110,8 +111,15 @@ static bool mesh_bisect_interactive_calc(
static int mesh_bisect_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
+ Object *obedit = CTX_data_edit_object(C);
+ BMEditMesh *em = BKE_editmesh_from_object(obedit);
int ret;
+ if (em->bm->totedgesel == 0) {
+ BKE_report(op->reports, RPT_ERROR, "Selected edges/faces required");
+ return OPERATOR_CANCELLED;
+ }
+
/* if the properties are set or there is no rv3d,
* skip model and exec immediately */
@@ -129,8 +137,6 @@ static int mesh_bisect_invoke(bContext *C, wmOperator *op, const wmEvent *event)
wmGesture *gesture = op->customdata;
BisectData *opdata;
- Object *obedit = CTX_data_edit_object(C);
- BMEditMesh *em = BKE_editmesh_from_object(obedit);
opdata = MEM_mallocN(sizeof(BisectData), "inset_operator_data");
opdata->mesh_backup = EDBM_redo_state_store(em);
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c
index 6b99f53..ce89855 100644
--- a/source/blender/editors/mesh/editmesh_knife.c
+++ b/source/blender/editors/mesh/editmesh_knife.c
@@ -50,6 +50,7 @@
#include "BKE_context.h"
#include "BKE_editmesh.h"
#include "BKE_editmesh_bvh.h"
+#include "BKE_report.h"
#include "BIF_gl.h"
#include "BIF_glutil.h" /* for paint cursor */
@@ -2646,6 +2647,15 @@ static int knifetool_invoke(bContext *C, wmOperator *op, const wmEvent *event)
KnifeTool_OpData *kcd;
+ if (only_select) {
+ Object *obedit = CTX_data_edit_object(C);
+ BMEditMesh *em = BKE_editmesh_from_object(obedit);
+ if (em->bm->totfacesel == 0) {
+ BKE_report(op->reports, RPT_ERROR, "Selected faces required");
+ return OPERATOR_CANCELLED;
+ }
+ }
+
view3d_operator_needs_opengl(C);
/* alloc new customdata */
More information about the Bf-blender-cvs
mailing list