2.5 - Bugfixes:

* 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.
This commit is contained in:
Joshua Leung 2009-08-17 10:39:03 +00:00
parent ddd7bfc91b
commit 7798ed75d4
3 changed files with 13 additions and 5 deletions

@ -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)); screen->animtimer= WM_event_add_window_timer(win, TIMER0, (1.0/FPS));
sad->ar= CTX_wm_region(C); sad->ar= CTX_wm_region(C);
sad->redraws= redraws; sad->redraws= redraws;
sad->flag= (enable < 0)? ANIMPLAY_FLAG_REVERSE: 0; sad->flag |= (enable < 0)? ANIMPLAY_FLAG_REVERSE: 0;
sad->flag= (sync == 0)? ANIMPLAY_FLAG_NO_SYNC: (sync == 1)? ANIMPLAY_FLAG_SYNC: 0; sad->flag |= (sync == 0)? ANIMPLAY_FLAG_NO_SYNC: (sync == 1)? ANIMPLAY_FLAG_SYNC: 0;
screen->animtimer->customdata= sad; screen->animtimer->customdata= sad;
} }

@ -3234,7 +3234,7 @@ static int outliner_object_operation_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C); Scene *scene= CTX_data_scene(C);
SpaceOops *soops= CTX_wm_space_outliner(C); SpaceOops *soops= CTX_wm_space_outliner(C);
int event; int event;
char *str; char *str= NULL;
/* check for invalid states */ /* check for invalid states */
if (soops == NULL) if (soops == NULL)

@ -176,6 +176,14 @@ static void rna_Scene_frame_update(bContext *C, PointerRNA *ptr)
//ED_update_for_newframe(C); //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) static PointerRNA rna_Scene_active_keying_set_get(PointerRNA *ptr)
{ {
Scene *scene= (Scene *)ptr->data; 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); prop= RNA_def_property(srna, "active_keying_set", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "KeyingSet"); 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_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_ui_text(prop, "Active Keying Set", "Active Keying Set used to insert/delete keyframes.");
RNA_def_property_update(prop, NC_SCENE|ND_KEYINGSET, NULL); 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); 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_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_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); RNA_def_property_update(prop, NC_SCENE|ND_KEYINGSET, NULL);
/* Tool Settings */ /* Tool Settings */