Revision: 14905
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14905
Author:   schlaile
Date:     2008-05-20 23:30:16 +0200 (Tue, 20 May 2008)

Log Message:
-----------
== Sequencer ==

This fixes:
[#11745] Blender crashes when changing Scenes on Sequencer`s Strips

containing:

- last_seq was set to null by scene-render
- button handling wasn't very robust (didn't check for null)
- REDRAWBUTSSCENE was missing

Modified Paths:
--------------
    trunk/blender/source/blender/src/buttons_scene.c
    trunk/blender/source/blender/src/sequence.c

Modified: trunk/blender/source/blender/src/buttons_scene.c
===================================================================
--- trunk/blender/source/blender/src/buttons_scene.c    2008-05-20 13:31:31 UTC 
(rev 14904)
+++ trunk/blender/source/blender/src/buttons_scene.c    2008-05-20 21:30:16 UTC 
(rev 14905)
@@ -1286,6 +1286,10 @@
        Sequence *last_seq = get_last_seq();
        ScrArea * sa;
 
+       if (!last_seq) {
+               return;
+       }
+
        switch(event) {
        case B_SEQ_BUT_PLUGIN:
        case B_SEQ_BUT_EFFECT:
@@ -1323,6 +1327,7 @@
                allqueue(REDRAWALL, 0);
        } else {
                allqueue(REDRAWSEQ, 0);
+               allqueue(REDRAWBUTSSCENE, 0);
        }
 }
 

Modified: trunk/blender/source/blender/src/sequence.c
===================================================================
--- trunk/blender/source/blender/src/sequence.c 2008-05-20 13:31:31 UTC (rev 
14904)
+++ trunk/blender/source/blender/src/sequence.c 2008-05-20 21:30:16 UTC (rev 
14905)
@@ -1756,6 +1756,7 @@
                }
        } else if(seq->type == SEQ_SCENE) {     // scene can be NULL after 
deletions
                int oldcfra = CFRA;
+               Sequence * oldseq = get_last_seq();
                Scene *sce= seq->scene, *oldsce= G.scene;
                Render *re;
                RenderResult rres;
@@ -1834,6 +1835,7 @@
                        if((G.f & G_PLAYANIM)==0) /* bad, is set on 
do_render_seq */
                                waitcursor(0);
                        CFRA = oldcfra;
+                       set_last_seq(oldseq);
 
                        copy_to_ibuf_still(seq, se);
 


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

Reply via email to