2.5 - Bugfixes:
authorJoshua Leung <aligorith@gmail.com>
Mon, 17 Aug 2009 10:39:03 +0000 (10:39 +0000)
committerJoshua Leung <aligorith@gmail.com>
Mon, 17 Aug 2009 10:39:03 +0000 (10:39 +0000)
* Reverse playback works again. Flag was getting overriden before it had a chance to do anything

* Active KeyingSet field in TimeLine header should now only be marked as editable when there are some Keying Sets. However, there still seems to be a bug when trying to change this...

TODO (Brecht?): it would be nice to be able to specify a list/collection of data for pointer-buttons that aren't ID's.

source/blender/editors/screen/screen_edit.c
source/blender/editors/space_outliner/outliner.c
source/blender/makesrna/intern/rna_scene.c

index 96f5a9f1b6443fe9827138b9bef35c05c54165b8..76a62128e915000cc1c6941e33b0f016d1d42a68 100644 (file)
@@ -1532,8 +1532,8 @@ void ED_screen_animation_timer(bContext *C, int redraws, int sync, int enable)
                screen->animtimer= WM_event_add_window_timer(win, TIMER0, (1.0/FPS));
                sad->ar= CTX_wm_region(C);
                sad->redraws= redraws;
-               sad->flag= (enable < 0)? ANIMPLAY_FLAG_REVERSE: 0;
-               sad->flag= (sync == 0)? ANIMPLAY_FLAG_NO_SYNC: (sync == 1)? ANIMPLAY_FLAG_SYNC: 0;
+               sad->flag |= (enable < 0)? ANIMPLAY_FLAG_REVERSE: 0;
+               sad->flag |= (sync == 0)? ANIMPLAY_FLAG_NO_SYNC: (sync == 1)? ANIMPLAY_FLAG_SYNC: 0;
                screen->animtimer->customdata= sad;
                
        }
index 0a48bfec47b2ae824ad73c9d65e3d728dd13ae68..fffec61ec60d9e7db9a1a398be0fb9976f5e7e67 100644 (file)
@@ -3234,7 +3234,7 @@ static int outliner_object_operation_exec(bContext *C, wmOperator *op)
        Scene *scene= CTX_data_scene(C);
        SpaceOops *soops= CTX_wm_space_outliner(C);
        int event;
-       char *str;
+       char *str= NULL;
        
        /* check for invalid states */
        if (soops == NULL)
index f5b4a50889446a30ab6a793f832a478cf3f80433..440f12be2ce81e6b0346903e9756826988f7324e 100644 (file)
@@ -176,6 +176,14 @@ static void rna_Scene_frame_update(bContext *C, PointerRNA *ptr)
        //ED_update_for_newframe(C);
 }
 
+static int rna_Scene_active_keying_set_editable(PointerRNA *ptr)
+{
+       Scene *scene= (Scene *)ptr->data;
+       
+       /* only editable if there are some Keying Sets to change to */
+       return (scene->keyingsets.first != NULL);
+}
+
 static PointerRNA rna_Scene_active_keying_set_get(PointerRNA *ptr)
 {
        Scene *scene= (Scene *)ptr->data;
@@ -1837,7 +1845,7 @@ void RNA_def_scene(BlenderRNA *brna)
        
        prop= RNA_def_property(srna, "active_keying_set", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "KeyingSet");
-       RNA_def_property_flag(prop, PROP_EDITABLE);
+       RNA_def_property_editable_func(prop, "rna_Scene_active_keying_set_editable");
        RNA_def_property_pointer_funcs(prop, "rna_Scene_active_keying_set_get", "rna_Scene_active_keying_set_set", NULL);
        RNA_def_property_ui_text(prop, "Active Keying Set", "Active Keying Set used to insert/delete keyframes.");
        RNA_def_property_update(prop, NC_SCENE|ND_KEYINGSET, NULL);
@@ -1845,7 +1853,7 @@ void RNA_def_scene(BlenderRNA *brna)
        prop= RNA_def_property(srna, "active_keying_set_index", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "active_keyingset");
        RNA_def_property_int_funcs(prop, "rna_Scene_active_keying_set_index_get", "rna_Scene_active_keying_set_index_set", "rna_Scene_active_keying_set_index_range");
-       RNA_def_property_ui_text(prop, "Active Keying Set", "Current Keying Set index.");
+       RNA_def_property_ui_text(prop, "Active Keying Set Index", "Current Keying Set index.");
        RNA_def_property_update(prop, NC_SCENE|ND_KEYINGSET, NULL);
        
        /* Tool Settings */