Revision: 15199
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15199
Author:   campbellbarton
Date:     2008-06-11 16:31:51 +0200 (Wed, 11 Jun 2008)

Log Message:
-----------
bugfix
- duplicated script spaces would keep a pointer to the PyObject button list. 
(causing python errors with negative reference counts when freeing spaces)
- Exiting blender would crash when a UI was open because the ScriptSpaces 
button PyList was being free'd after python Py_Finalize was called.

Modified Paths:
--------------
    trunk/blender/source/blender/python/BPY_interface.c
    trunk/blender/source/blender/src/space.c

Modified: trunk/blender/source/blender/python/BPY_interface.c
===================================================================
--- trunk/blender/source/blender/python/BPY_interface.c 2008-06-11 11:36:24 UTC 
(rev 15198)
+++ trunk/blender/source/blender/python/BPY_interface.c 2008-06-11 14:31:51 UTC 
(rev 15199)
@@ -1154,14 +1154,18 @@
                                if( sl->spacetype == SPACE_SCRIPT ) {
                                        SpaceScript *sc = ( SpaceScript * ) sl;
 
-                                       if( sc->script == script ) {
+                                       if( sc->script == script ) {            
                        
                                                sc->script = NULL;
 
-                                               if( sc ==
-                                                   area->spacedata.first ) {
-                                                       scrarea_queue_redraw
-                                                               ( area );
+                                               if( sc == area->spacedata.first 
) {
+                                                       scrarea_queue_redraw( 
area );
                                                }
+                                               
+                                               if (sc->but_refs) {
+                                                       
BPy_Set_DrawButtonsList(sc->but_refs);
+                                                       
BPy_Free_DrawButtonsList();
+                                                       sc->but_refs = NULL;
+                                               }
                                        }
                                }
                        }

Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c    2008-06-11 11:36:24 UTC (rev 
15198)
+++ trunk/blender/source/blender/src/space.c    2008-06-11 14:31:51 UTC (rev 
15199)
@@ -6334,7 +6334,10 @@
                        SpaceNode *snode= (SpaceNode *)sl;
                        snode->nodetree= NULL;
                }
-
+               else if(sl->spacetype==SPACE_SCRIPT) {
+                       SpaceScript *sc = ( SpaceScript * ) sl;
+                       sc->but_refs = NULL;
+               }
                sl= sl->next;
        }
        


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to