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:
authorMatt Ebb <matt@mke3.net>2010-01-05 04:59:37 +0300
committerMatt Ebb <matt@mke3.net>2010-01-05 04:59:37 +0300
commit0b4627c5d66e7676ade8861086c04e37ab058f67 (patch)
tree6738eea911b0e792d444d98329e5285eedd5396a /source/blender/editors/render
parent665011e4103d10c205aaf459ca168a20c2410448 (diff)
More specific notifiers for preview render jobs
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r--source/blender/editors/render/render_preview.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 74e1cca5579..1e0393479b0 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -1094,6 +1094,20 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat
}
}
+static int preview_notifier_id(ShaderPreview *sp)
+{
+ switch (GS(sp->id)) {
+ case ID_MA:
+ return NC_MATERIAL;
+ case ID_TE:
+ return NC_TEXTURE;
+ case ID_WO:
+ return NC_WORLD;
+ case ID_LA:
+ return NC_LAMP;
+ }
+}
+
/* use same function for icon & shader, so the job manager
does not run two of them at the same time. */
@@ -1128,7 +1142,7 @@ void ED_preview_icon_job(const bContext *C, void *owner, ID *id, unsigned int *r
/* setup job */
WM_jobs_customdata(steve, sp, shader_preview_free);
- WM_jobs_timer(steve, 0.1, NC_MATERIAL, NC_MATERIAL);
+ WM_jobs_timer(steve, 0.1, preview_notifier_id(sp), preview_notifier_id(sp));
WM_jobs_callbacks(steve, common_preview_startjob, NULL, NULL);
WM_jobs_start(CTX_wm_manager(C), steve);
@@ -1154,7 +1168,7 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M
/* setup job */
WM_jobs_customdata(steve, sp, shader_preview_free);
- WM_jobs_timer(steve, 0.1, NC_MATERIAL, NC_MATERIAL);
+ WM_jobs_timer(steve, 0.1, preview_notifier_id(sp), preview_notifier_id(sp));
WM_jobs_callbacks(steve, common_preview_startjob, NULL, shader_preview_updatejob);
WM_jobs_start(CTX_wm_manager(C), steve);