diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-02-27 07:01:58 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-02-27 07:01:58 +0300 |
commit | f73c993b16c4083f0c72b87ba3f70fa12a5077df (patch) | |
tree | 04031cd45ed05cc542132df2e7554bcf63d3606e | |
parent | a11c80d3bb254037ecb37476feeec5529bb02434 (diff) |
- use Py_CLEAR for python internally referencing other PyObjects (supposed to be safer).
- detect includes for qtcreator projects as well as the ones from cmake (it didnt return all of the right paths).
-rw-r--r-- | build_files/cmake/cmake_qtcreator_project.py | 5 | ||||
-rw-r--r-- | source/blender/editors/space_action/action_edit.c | 2 | ||||
-rw-r--r-- | source/gameengine/Ketsji/KX_GameObject.cpp | 3 | ||||
-rw-r--r-- | source/gameengine/Ketsji/KX_Scene.cpp | 8 |
4 files changed, 13 insertions, 5 deletions
diff --git a/build_files/cmake/cmake_qtcreator_project.py b/build_files/cmake/cmake_qtcreator_project.py index 55aa9a75a82..24e168f718f 100644 --- a/build_files/cmake/cmake_qtcreator_project.py +++ b/build_files/cmake/cmake_qtcreator_project.py @@ -171,6 +171,11 @@ def main(): else: includes, defines = cmake_advanced_info() + # for some reason it doesnt give all internal includes + includes = list(set(includes) | set(dirname(f) for f in files_rel if is_c_header(f))) + includes.sort() + + PROJECT_NAME = "Blender" f = open(join(base, "%s.files" % PROJECT_NAME), 'w') f.write("\n".join(files_rel)) diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c index 4f7bddc5c40..261a4f806d8 100644 --- a/source/blender/editors/space_action/action_edit.c +++ b/source/blender/editors/space_action/action_edit.c @@ -167,7 +167,7 @@ static int act_markers_make_local_poll(bContext *C) return ED_markers_get_first_selected(ED_context_get_markers(C)) != NULL; } -static int act_markers_make_local_exec (bContext *C, wmOperator *op) +static int act_markers_make_local_exec (bContext *C, wmOperator *UNUSED(op)) { ListBase *markers = ED_context_get_markers(C); diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index 5ca780bb319..93d67e92dd5 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -157,7 +157,8 @@ KX_GameObject::~KX_GameObject() #ifdef WITH_PYTHON if (m_attr_dict) { PyDict_Clear(m_attr_dict); /* incase of circular refs or other weired cases */ - Py_DECREF(m_attr_dict); + /* Py_CLEAR: Py_DECREF's and NULL's */ + Py_CLEAR(m_attr_dict); } #endif // WITH_PYTHON } diff --git a/source/gameengine/Ketsji/KX_Scene.cpp b/source/gameengine/Ketsji/KX_Scene.cpp index 0a8c3039ae3..4a379f46440 100644 --- a/source/gameengine/Ketsji/KX_Scene.cpp +++ b/source/gameengine/Ketsji/KX_Scene.cpp @@ -269,10 +269,12 @@ KX_Scene::~KX_Scene() #ifdef WITH_PYTHON PyDict_Clear(m_attr_dict); - Py_DECREF(m_attr_dict); + /* Py_CLEAR: Py_DECREF's and NULL's */ + Py_CLEAR(m_attr_dict); - Py_XDECREF(m_draw_call_pre); - Py_XDECREF(m_draw_call_post); + /* these may be NULL but the macro checks */ + Py_CLEAR(m_draw_call_pre); + Py_CLEAR(m_draw_call_post); #endif } |