[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36119] trunk/blender/source: report missing engines on file load.
Dalai Felinto
dfelinto at gmail.com
Wed Apr 13 01:20:22 CEST 2011
This is reporting missing engine for any 2.49 file.
(Engine not available: '' for scene: Scene, an addon ....)
[win7 64bit blender scons]
2011/4/12 Campbell Barton <ideasman42 at gmail.com>:
> Revision: 36119
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36119
> Author: campbellbarton
> Date: 2011-04-12 15:55:38 +0000 (Tue, 12 Apr 2011)
> Log Message:
> -----------
> report missing engines on file load. (request from Martin).
>
> Modified Paths:
> --------------
> trunk/blender/source/blender/render/intern/source/pipeline.c
> trunk/blender/source/blender/windowmanager/intern/wm_files.c
> trunk/blender/source/creator/creator.c
>
> Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
> ===================================================================
> --- trunk/blender/source/blender/render/intern/source/pipeline.c 2011-04-12 15:55:04 UTC (rev 36118)
> +++ trunk/blender/source/blender/render/intern/source/pipeline.c 2011-04-12 15:55:38 UTC (rev 36119)
> @@ -35,6 +35,7 @@
> #include <limits.h>
> #include <string.h>
> #include <stdlib.h>
> +#include <stddef.h>
>
> #include "DNA_group_types.h"
> #include "DNA_image_types.h"
> @@ -3349,13 +3350,9 @@
>
> static int external_render_3d(Render *re, int do_all)
> {
> - RenderEngineType *type;
> + RenderEngineType *type= BLI_findstring(&R_engines, re->r.engine, offsetof(RenderEngineType, idname));
> RenderEngine engine;
>
> - for(type=R_engines.first; type; type=type->next)
> - if(strcmp(type->idname, re->r.engine) == 0)
> - break;
> -
> if(!(type && type->render))
> return 0;
> if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW))
>
> Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
> ===================================================================
> --- trunk/blender/source/blender/windowmanager/intern/wm_files.c 2011-04-12 15:55:04 UTC (rev 36118)
> +++ trunk/blender/source/blender/windowmanager/intern/wm_files.c 2011-04-12 15:55:38 UTC (rev 36119)
> @@ -33,7 +33,7 @@
> /* placed up here because of crappy
> * winsock stuff.
> */
> -#include <stdio.h>
> +#include <stddef.h>
> #include <string.h>
> #include <errno.h>
>
> @@ -96,6 +96,8 @@
> #include "ED_view3d.h"
> #include "ED_util.h"
>
> +#include "RE_pipeline.h" /* only to report missing engine */
> +
> #include "GHOST_C-api.h"
> #include "GHOST_Path-api.h"
>
> @@ -338,6 +340,17 @@
> #endif
> CTX_wm_window_set(C, NULL); /* exits queues */
>
> + /* TODO, make this show in header info window */
> + {
> + Scene *sce;
> + for(sce= G.main->scene.first; sce; sce= sce->id.next) {
> + if(BLI_findstring(&R_engines, sce->r.engine, offsetof(RenderEngineType, idname)) == NULL) {
> + BKE_reportf(reports, RPT_WARNING, "Engine not available: '%s' for scene: %s, an addon may need to be installed or enabled", sce->r.engine, sce->id.name+2);
> + }
> + }
> + }
> +
> +
> // XXX undo_editmode_clear();
> BKE_reset_undo();
> BKE_write_undo(C, "original"); /* save current state */
>
> Modified: trunk/blender/source/creator/creator.c
> ===================================================================
> --- trunk/blender/source/creator/creator.c 2011-04-12 15:55:04 UTC (rev 36118)
> +++ trunk/blender/source/creator/creator.c 2011-04-12 15:55:38 UTC (rev 36119)
> @@ -43,6 +43,7 @@
> #endif
>
> #include <stdlib.h>
> +#include <stddef.h>
> #include <string.h>
>
> /* for setuid / getuid */
> @@ -583,18 +584,12 @@
> {
> printf("\nError: no blend loaded. order the arguments so '-E / --engine ' is after a blend is loaded.\n");
> }
> - else
> - {
> + else {
> Scene *scene= CTX_data_scene(C);
> RenderData *rd = &scene->r;
> - RenderEngineType *type = NULL;
>
> - for( type = R_engines.first; type; type = type->next )
> - {
> - if (!strcmp(argv[1],type->idname))
> - {
> - BLI_strncpy(rd->engine, type->idname, sizeof(rd->engine));
> - }
> + if(BLI_findstring(&R_engines, argv[1], offsetof(RenderEngineType, idname))) {
> + BLI_strncpy(rd->engine, argv[1], sizeof(rd->engine));
> }
> }
> }
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
More information about the Bf-committers
mailing list