From 3e8250050918ffb44cbe62963222d10127a97329 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 29 Jul 2020 07:35:29 +0200 Subject: [PATCH 1/2] Fix T79355: switch to texture paint workspace changes image in other workspaces Only automatically change image in editor to follow texture paint editors and workspaces that are visible. --- .../editors/sculpt_paint/paint_image.c | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 7f64fdf3501..7ee3d991eb7 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -1118,7 +1118,6 @@ void PAINT_OT_sample_color(wmOperatorType *ot) void ED_object_texture_paint_mode_enter_ex(Main *bmain, Scene *scene, Object *ob) { - bScreen *screen; Image *ima = NULL; ImagePaintSettings *imapaint = &scene->toolsettings->imapaint; @@ -1142,17 +1141,16 @@ void ED_object_texture_paint_mode_enter_ex(Main *bmain, Scene *scene, Object *ob } if (ima) { - for (screen = bmain->screens.first; screen; screen = screen->id.next) { - ScrArea *area; - for (area = screen->areabase.first; area; area = area->next) { - SpaceLink *sl; - for (sl = area->spacedata.first; sl; sl = sl->next) { - if (sl->spacetype == SPACE_IMAGE) { - SpaceImage *sima = (SpaceImage *)sl; + wmWindowManager *wm = bmain->wm.first; + for (wmWindow *win = wm->windows.first; win; win = win->next) { + const bScreen *screen = WM_window_get_active_screen(win); + for (ScrArea *area = screen->areabase.first; area; area = area->next) { + SpaceLink *sl = area->spacedata.first; + if (sl->spacetype == SPACE_IMAGE) { + SpaceImage *sima = (SpaceImage *)sl; - if (!sima->pin) { - ED_space_image_set(bmain, sima, NULL, ima, true); - } + if (!sima->pin) { + ED_space_image_set(bmain, sima, NULL, ima, true); } } } From 84f7de432c72e941477b74ab7cb3b749b85566ac Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Wed, 29 Jul 2020 09:09:34 -0300 Subject: [PATCH 2/2] Fix T78826: Move constraint is not fully disabled Caused by rB45f17e10ec50 --- .../blender/editors/transform/transform_constraints.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index 66b90eb159f..e15239f37d4 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -510,10 +510,12 @@ static void applyObjectConstraintVec( else { /* Specific TransData's space. */ copy_v3_v3(out, in); - mul_m3_v3(t->spacemtx_inv, out); - mul_m3_v3(td->axismtx, out); - if (t->flag & T_EDIT) { - mul_m3_v3(tc->mat3_unit, out); + if (t->con.mode & CON_APPLY) { + mul_m3_v3(t->spacemtx_inv, out); + mul_m3_v3(td->axismtx, out); + if (t->flag & T_EDIT) { + mul_m3_v3(tc->mat3_unit, out); + } } } }