From 63746ac4f731fb03cffd67e199aca5b49d6ecf4a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 23 Sep 2010 20:26:03 +0000 Subject: [PATCH] Fix #22947: sample color tool not working in user preferences, was assuming the color to be a property on an ID block. Note that sampling from another window still does not work, only within the same window. --- source/blender/editors/animation/drivers.c | 8 ++++---- source/blender/editors/animation/keyframing.c | 4 ++-- source/blender/editors/animation/keyingsets.c | 4 ++-- source/blender/editors/interface/interface_anim.c | 2 +- source/blender/editors/interface/interface_ops.c | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c index 9edcf637cdc..9b776fc0859 100644 --- a/source/blender/editors/animation/drivers.c +++ b/source/blender/editors/animation/drivers.c @@ -377,7 +377,7 @@ static int add_driver_button_exec (bContext *C, wmOperator *op) if (all) index= -1; - if (ptr.data && prop && RNA_property_animateable(&ptr, prop)) { + if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { @@ -432,7 +432,7 @@ static int remove_driver_button_exec (bContext *C, wmOperator *op) if (all) index= -1; - if (ptr.data && prop) { + if (ptr.id.data && ptr.data && prop) { path= RNA_path_from_ID_to_property(&ptr, prop); success= ANIM_remove_driver(ptr.id.data, path, index, 0); MEM_freeN(path); @@ -480,7 +480,7 @@ static int copy_driver_button_exec (bContext *C, wmOperator *op) memset(&ptr, 0, sizeof(PointerRNA)); uiAnimContextProperty(C, &ptr, &prop, &index); - if (ptr.data && prop && RNA_property_animateable(&ptr, prop)) { + if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { @@ -524,7 +524,7 @@ static int paste_driver_button_exec (bContext *C, wmOperator *op) memset(&ptr, 0, sizeof(PointerRNA)); uiAnimContextProperty(C, &ptr, &prop, &index); - if (ptr.data && prop && RNA_property_animateable(&ptr, prop)) { + if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index fc5649be869..176c6a1f72a 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -1364,7 +1364,7 @@ static int insert_key_button_exec (bContext *C, wmOperator *op) memset(&ptr, 0, sizeof(PointerRNA)); uiAnimContextProperty(C, &ptr, &prop, &index); - if ((ptr.data && prop) && RNA_property_animateable(&ptr, prop)) { + if ((ptr.id.data && ptr.data && prop) && RNA_property_animateable(&ptr, prop)) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { @@ -1448,7 +1448,7 @@ static int delete_key_button_exec (bContext *C, wmOperator *op) memset(&ptr, 0, sizeof(PointerRNA)); uiAnimContextProperty(C, &ptr, &prop, &index); - if (ptr.data && prop) { + if (ptr.id.data && ptr.data && prop) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c index ab236de9ac5..c54cd74383a 100644 --- a/source/blender/editors/animation/keyingsets.c +++ b/source/blender/editors/animation/keyingsets.c @@ -326,7 +326,7 @@ static int add_keyingset_button_exec (bContext *C, wmOperator *op) uiAnimContextProperty(C, &ptr, &prop, &index); /* check if property is able to be added */ - if (ptr.data && prop && RNA_property_animateable(&ptr, prop)) { + if (ptr.id.data && ptr.data && prop && RNA_property_animateable(&ptr, prop)) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { @@ -411,7 +411,7 @@ static int remove_keyingset_button_exec (bContext *C, wmOperator *op) memset(&ptr, 0, sizeof(PointerRNA)); uiAnimContextProperty(C, &ptr, &prop, &index); - if (ptr.data && prop) { + if (ptr.id.data && ptr.data && prop) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) { diff --git a/source/blender/editors/interface/interface_anim.c b/source/blender/editors/interface/interface_anim.c index c99622c7518..0e4de9fabaa 100644 --- a/source/blender/editors/interface/interface_anim.c +++ b/source/blender/editors/interface/interface_anim.c @@ -127,7 +127,7 @@ void uiAnimContextProperty(const bContext *C, struct PointerRNA *ptr, struct Pro if(ar) { for(block=ar->uiblocks.first; block; block=block->next) { for(but=block->buttons.first; but; but= but->next) { - if((but->active || but->flag & UI_BUT_LAST_ACTIVE) && but->rnapoin.id.data) { + if((but->active || but->flag & UI_BUT_LAST_ACTIVE) && but->rnapoin.data) { *ptr= but->rnapoin; *prop= but->rnaprop; *index= but->rnaindex; diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c index caee3c1c2fe..f0f69e06299 100644 --- a/source/blender/editors/interface/interface_ops.c +++ b/source/blender/editors/interface/interface_ops.c @@ -230,7 +230,7 @@ static int copy_data_path_button_exec(bContext *C, wmOperator *op) /* try to create driver using property retrieved from UI */ uiAnimContextProperty(C, &ptr, &prop, &index); - if (ptr.data && prop) { + if (ptr.id.data && ptr.data && prop) { path= RNA_path_from_ID_to_property(&ptr, prop); if (path) {