forked from bartvdbraak/blender
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.
This commit is contained in:
parent
1199551239
commit
63746ac4f7
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user