[Bf-blender-cvs] [e8d3996e677] blender-v2.83-release: Fix edit-mesh selection mode switching causing two undo pushes

Campbell Barton noreply at git.blender.org
Fri Apr 24 09:41:29 CEST 2020


Commit: e8d3996e6776029ce27e29d7e717b0f301a0fa55
Author: Campbell Barton
Date:   Fri Apr 24 17:39:11 2020 +1000
Branches: blender-v2.83-release
https://developer.blender.org/rBe8d3996e6776029ce27e29d7e717b0f301a0fa55

Fix edit-mesh selection mode switching causing two undo pushes

===================================================================

M	source/blender/editors/space_view3d/view3d_header.c

===================================================================

diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index be0084d8869..119ba059a70 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -138,10 +138,11 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
   if (obedit && (obedit->type == OB_MESH)) {
     BMEditMesh *em = BKE_editmesh_from_object(obedit);
     uiLayout *row;
+    uiBut *but;
 
     row = uiLayoutRow(layout, true);
     block = uiLayoutGetBlock(row);
-    uiDefIconButBitS(
+    but = uiDefIconButBitS(
         block,
         UI_BTYPE_TOGGLE,
         SCE_SELECT_VERTEX,
@@ -157,23 +158,26 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
         0,
         0,
         TIP_("Vertex select - Shift-Click for multiple modes, Ctrl-Click contracts selection"));
-    uiDefIconButBitS(block,
-                     UI_BTYPE_TOGGLE,
-                     SCE_SELECT_EDGE,
-                     B_SEL_EDGE,
-                     ICON_EDGESEL,
-                     0,
-                     0,
-                     ceilf(UI_UNIT_X - U.pixelsize),
-                     UI_UNIT_Y,
-                     &em->selectmode,
-                     1.0,
-                     0.0,
-                     0,
-                     0,
-                     TIP_("Edge select - Shift-Click for multiple modes, Ctrl-Click "
-                          "expands/contracts selection"));
-    uiDefIconButBitS(
+    UI_but_flag_disable(but, UI_BUT_UNDO);
+    but = uiDefIconButBitS(
+        block,
+        UI_BTYPE_TOGGLE,
+        SCE_SELECT_EDGE,
+        B_SEL_EDGE,
+        ICON_EDGESEL,
+        0,
+        0,
+        ceilf(UI_UNIT_X - U.pixelsize),
+        UI_UNIT_Y,
+        &em->selectmode,
+        1.0,
+        0.0,
+        0,
+        0,
+        TIP_("Edge select - Shift-Click for multiple modes, "
+             "Ctrl-Click expands/contracts selection depending on the current mode"));
+    UI_but_flag_disable(but, UI_BUT_UNDO);
+    but = uiDefIconButBitS(
         block,
         UI_BTYPE_TOGGLE,
         SCE_SELECT_FACE,
@@ -189,6 +193,7 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
         0,
         0,
         TIP_("Face select - Shift-Click for multiple modes, Ctrl-Click expands selection"));
+    UI_but_flag_disable(but, UI_BUT_UNDO);
   }
 }



More information about the Bf-blender-cvs mailing list