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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2014-02-28 21:12:05 +0400
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2014-02-28 21:12:05 +0400
commit7f24b34dcc78376fff7d81119e23f16f3429c58f (patch)
treebec793baca10023cb1b95980cd884bbcd34ebd26 /source/blender
parent32c18276ef4e3b4035d03f459399f87517798c4e (diff)
Fix T38885: missing image editor paint brush updates after recent UI changes.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c2
-rw-r--r--source/blender/editors/space_image/space_image.c32
2 files changed, 26 insertions, 8 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index 56cba57747d..1b2e708be0f 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -960,6 +960,7 @@ static int sample_color_exec(bContext *C, wmOperator *op)
static int sample_color_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
Paint *paint = BKE_paint_get_active_from_context(C);
+ Brush *brush = BKE_paint_brush(paint);
SampleColorData *data = MEM_mallocN(sizeof(SampleColorData), "sample color custom data");
ARegion *ar = CTX_wm_region(C);
wmWindow *win = CTX_wm_window(C);
@@ -977,6 +978,7 @@ static int sample_color_invoke(bContext *C, wmOperator *op, const wmEvent *event
paint_sample_color(C, ar, event->mval[0], event->mval[1]);
WM_event_add_modal_handler(C, op);
+ WM_event_add_notifier(C, NC_BRUSH | NA_EDITED, brush);
return OPERATOR_RUNNING_MODAL;
}
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index e857583924e..5c9fd233a5c 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -789,20 +789,28 @@ static void image_buttons_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa)
{
/* context changes */
switch (wmn->category) {
- case NC_GPENCIL:
- if (wmn->data == ND_DATA)
- ED_region_tag_redraw(ar);
- break;
- case NC_BRUSH:
- if (wmn->action == NA_EDITED)
- ED_region_tag_redraw(ar);
- break;
case NC_TEXTURE:
case NC_MATERIAL:
/* sending by texture render job and needed to properly update displaying
* brush texture icon */
ED_region_tag_redraw(ar);
break;
+ case NC_SCENE:
+ switch (wmn->data) {
+ case ND_MODE:
+ case ND_RENDER_RESULT:
+ case ND_COMPO_RESULT:
+ ED_region_tag_redraw(ar);
+ break;
+ }
+ break;
+ case NC_IMAGE:
+ if (wmn->action != NA_PAINTING)
+ ED_region_tag_redraw(ar);
+ break;
+ case NC_NODE:
+ ED_region_tag_redraw(ar);
+ break;
}
}
@@ -850,6 +858,14 @@ static void image_tools_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa),
{
/* context changes */
switch (wmn->category) {
+ case NC_GPENCIL:
+ if (wmn->data == ND_DATA)
+ ED_region_tag_redraw(ar);
+ break;
+ case NC_BRUSH:
+ if (wmn->action == NA_EDITED)
+ ED_region_tag_redraw(ar);
+ break;
case NC_SCENE:
switch (wmn->data) {
case ND_MODE: