Commit: 5d84d9b0d6ad114109d60cf3d0ddcd9bb1a5de13 Author: Sergey Sharybin Date: Fri Apr 29 16:41:02 2022 +0200 Branches: master https://developer.blender.org/rB5d84d9b0d6ad114109d60cf3d0ddcd9bb1a5de13
Cleanup: Simplify job custom data query API There were two calls to access job's custom data. One of them ignored job type, the other one ignored job owner. Now there is a single function to access job's custom data. If the job type or owner is not relevant NULL or WM_JOB_TYPE_ANY can be passes explicitly. Differential Revision: https://developer.blender.org/D14803 =================================================================== M source/blender/editors/render/render_internal.cc M source/blender/editors/render/render_preview.cc M source/blender/windowmanager/WM_api.h M source/blender/windowmanager/intern/wm_jobs.c =================================================================== diff --git a/source/blender/editors/render/render_internal.cc b/source/blender/editors/render/render_internal.cc index e5d2a765ca1..157c9bc7222 100644 --- a/source/blender/editors/render/render_internal.cc +++ b/source/blender/editors/render/render_internal.cc @@ -1146,7 +1146,8 @@ void RENDER_OT_render(wmOperatorType *ot) Scene *ED_render_job_get_scene(const bContext *C) { wmWindowManager *wm = CTX_wm_manager(C); - RenderJob *rj = (RenderJob *)WM_jobs_customdata_from_type(wm, WM_JOB_TYPE_RENDER); + RenderJob *rj = (RenderJob *)WM_jobs_customdata_from_type( + wm, CTX_data_scene(C), WM_JOB_TYPE_RENDER); if (rj) { return rj->scene; @@ -1158,7 +1159,8 @@ Scene *ED_render_job_get_scene(const bContext *C) Scene *ED_render_job_get_current_scene(const bContext *C) { wmWindowManager *wm = CTX_wm_manager(C); - RenderJob *rj = (RenderJob *)WM_jobs_customdata_from_type(wm, WM_JOB_TYPE_RENDER); + RenderJob *rj = (RenderJob *)WM_jobs_customdata_from_type( + wm, CTX_data_scene(C), WM_JOB_TYPE_RENDER); if (rj) { return rj->current_scene; } diff --git a/source/blender/editors/render/render_preview.cc b/source/blender/editors/render/render_preview.cc index 78e786a2130..a56f513e98f 100644 --- a/source/blender/editors/render/render_preview.cc +++ b/source/blender/editors/render/render_preview.cc @@ -713,7 +713,8 @@ void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, r ID *parent = (ID *)parentp; MTex *slot = (MTex *)slotp; SpaceProperties *sbuts = CTX_wm_space_properties(C); - ShaderPreview *sp = static_cast<ShaderPreview *>(WM_jobs_customdata(wm, area)); + ShaderPreview *sp = static_cast<ShaderPreview *>( + WM_jobs_customdata_from_type(wm, area, WM_JOB_TYPE_LOAD_PREVIEW)); rcti newrect; bool ok; int newx = BLI_rcti_size_x(rect); diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 9a4d024328a..525301d4393 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -1322,8 +1322,7 @@ const char *WM_jobs_name(const struct wmWindowManager *wm, const void *owner); * Time that job started. */ double WM_jobs_starttime(const struct wmWindowManager *wm, const void *owner); -void *WM_jobs_customdata(struct wmWindowManager *wm, const void *owner); -void *WM_jobs_customdata_from_type(struct wmWindowManager *wm, int job_type); +void *WM_jobs_customdata_from_type(struct wmWindowManager *wm, const void *owner, int job_type); bool WM_jobs_is_running(const struct wmJob *wm_job); bool WM_jobs_is_stopped(const wmWindowManager *wm, const void *owner); diff --git a/source/blender/windowmanager/intern/wm_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c index 701a93c7e21..b44cf9e48b8 100644 --- a/source/blender/windowmanager/intern/wm_jobs.c +++ b/source/blender/windowmanager/intern/wm_jobs.c @@ -280,20 +280,9 @@ const char *WM_jobs_name(const wmWindowManager *wm, const void *owner) return NULL; } -void *WM_jobs_customdata(wmWindowManager *wm, const void *owner) +void *WM_jobs_customdata_from_type(wmWindowManager *wm, const void *owner, int job_type) { - wmJob *wm_job = wm_job_find(wm, owner, WM_JOB_TYPE_ANY); - - if (wm_job) { - return WM_jobs_customdata_get(wm_job); - } - - return NULL; -} - -void *WM_jobs_customdata_from_type(wmWindowManager *wm, int job_type) -{ - wmJob *wm_job = wm_job_find(wm, NULL, job_type); + wmJob *wm_job = wm_job_find(wm, owner, job_type); if (wm_job) { return WM_jobs_customdata_get(wm_job); _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
