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:
authorBastien Montagne <montagne29@wanadoo.fr>2015-10-26 18:34:18 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-10-26 18:37:59 +0300
commit5b3af3dd46307fcf5389f1ede9cfb9da77b120a4 (patch)
tree78e88295a45f5fe14bff9b02bdceb1216f21e3cc /source/blender/editors/sculpt_paint/sculpt_uv.c
parent3751eb18c3156589fdb6296c1cc6ab0e9ec8b4d4 (diff)
Fix T46537: UV Image Editor. UV Sculpt toggle button doesn't show hotkey label when active.
Poll function of that keymap was slightly... agressive.
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt_uv.c')
-rw-r--r--source/blender/editors/sculpt_paint/sculpt_uv.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt_uv.c b/source/blender/editors/sculpt_paint/sculpt_uv.c
index 405ac3f6808..b8fec17ca5a 100644
--- a/source/blender/editors/sculpt_paint/sculpt_uv.c
+++ b/source/blender/editors/sculpt_paint/sculpt_uv.c
@@ -157,7 +157,7 @@ static Brush *uv_sculpt_brush(bContext *C)
}
-static int uv_sculpt_brush_poll(bContext *C)
+static int uv_sculpt_brush_poll_do(bContext *C, const bool check_region)
{
BMEditMesh *em;
int ret;
@@ -175,13 +175,19 @@ static int uv_sculpt_brush_poll(bContext *C)
em = BKE_editmesh_from_object(obedit);
ret = EDBM_mtexpoly_check(em);
- if (ret) {
+ if (ret && check_region) {
ARegion *ar = CTX_wm_region(C);
- if ((toolsettings->use_uv_sculpt) && ar->regiontype == RGN_TYPE_WINDOW)
- return 1;
+ if (!((toolsettings->use_uv_sculpt) && (ar->regiontype == RGN_TYPE_WINDOW))) {
+ ret = 0;
+ }
}
- return 0;
+ return ret;
+}
+
+static int uv_sculpt_brush_poll(bContext *C)
+{
+ return uv_sculpt_brush_poll_do(C, true);
}
static void brush_drawcursor_uvsculpt(bContext *C, int x, int y, void *UNUSED(customdata))
@@ -252,7 +258,12 @@ void ED_space_image_uv_sculpt_update(wmWindowManager *wm, Scene *scene)
int uv_sculpt_poll(bContext *C)
{
- return uv_sculpt_brush_poll(C);
+ return uv_sculpt_brush_poll_do(C, true);
+}
+
+int uv_sculpt_keymap_poll(bContext *C)
+{
+ return uv_sculpt_brush_poll_do(C, false);
}
/*********** Improved Laplacian Relaxation Operator ************************/