diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-04-03 04:00:29 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-04-03 04:00:29 +0400 |
commit | 1e8d69ac7468670853a5714ebb2fc0d7c3cbf1be (patch) | |
tree | af5242223bfc453cbc3f46fef7caabe2695e3cab /source/blender/blenkernel/intern/text.c | |
parent | 8709d4b624653ab404ef69162262f94ee8b3506e (diff) |
Use of text datablocks for storing Python style modules.
Suggested by Brecht Van Lommel and Campbell Barton through code review comments.
Previously style modules were external Python script files whose absolute paths
were kept in .blend files. Now style modules are stored in .blend files as text
datablocks.
Style modules are configured in three steps:
1. Open an external style module file (or create a new text datablock) in the
Text Editor in Blender.
2. Add a style module to the list of style modules (by pressing the "Add" button)
in the Render Layer properties window.
3. Click the name entry and select the style module from the drop-down menu.
Diffstat (limited to 'source/blender/blenkernel/intern/text.c')
-rw-r--r-- | source/blender/blenkernel/intern/text.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index 29f16775598..4527d2a5056 100644 --- a/source/blender/blenkernel/intern/text.c +++ b/source/blender/blenkernel/intern/text.c @@ -519,6 +519,9 @@ void BKE_text_unlink(Main *bmain, Text *text) bNodeTree *ntree; bNode *node; Material *mat; + Scene *sce; + SceneRenderLayer *srl; + FreestyleModuleConfig *module; short update; for (ob = bmain->object.first; ob; ob = ob->id.next) { @@ -608,6 +611,16 @@ void BKE_text_unlink(Main *bmain, Text *text) } } + /* Freestyle */ + for (sce = bmain->scene.first; sce; sce = sce->id.next) { + for (srl = sce->r.layers.first; srl; srl = srl->next) { + for (module = srl->freestyleConfig.modules.first; module; module= module->next) { + if (module->script == text) + module->script = NULL; + } + } + } + text->id.us = 0; } |