b99c2c514410289976edc2b142a7a6eaa2fb90f6
[blender.git] / source / blender / blenkernel / intern / script.c
1 /* blenkernel/script.c
2  *
3  *
4  * $Id$
5  *
6  * Function(s) related to struct script management.
7  *
8  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version. The Blender
14  * Foundation also sells licenses for use in proprietary software under
15  * the Blender License.  See http://www.blender.org/BL/ for information
16  * about this.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software Foundation,
25  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
26  *
27  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
28  * All rights reserved.
29  *
30  * This is a new part of Blender.
31  *
32  * Contributor(s): Willian P. Germano.
33  *
34  * ***** END GPL/BL DUAL LICENSE BLOCK *****
35  */
36
37 #include "BKE_script.h"
38 #include "BPI_script.h"
39
40 #include "MEM_guardedalloc.h"
41 #include "BKE_bad_level_calls.h" /* for BPY_clear_script */
42
43 /*
44 #include "BLI_blenlib.h"
45 #include "BKE_utildefines.h"
46 #include "BKE_library.h"
47 #include "BKE_global.h"
48 #include "BKE_main.h"
49
50 #include "BPY_extern.h" // Blender Python library
51
52 #ifdef HAVE_CONFIG_H
53 #include <config.h>
54 #endif
55 */
56
57 /* XXX this function and so also the file should not be needed anymore,
58  * since we have to force clearing all Python related data before freeing
59  * Blender's library. Still testing, will decide later (Willian). */
60 void free_script (Script *script)
61 {
62         if (!script) return;
63
64         if (script->py_globaldict || script->py_button ||
65                         script->py_event || script->py_draw)
66         {
67                 BPY_clear_script(script);
68         }
69
70         return;
71 }