Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-01-13 11:35:30 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-01-13 11:56:40 +0300
commitba44919601c540218ce05765915689d3837b8420 (patch)
tree3a30b0e8e670d472bd5b282d0e1d32bd37806ffa /source/blender/makesrna/intern/rna_wm.c
parent0b711e6758b0ba3732b2e6cfceb009aa186e525e (diff)
Fix Event.value RNA access with tweak event types
Accessing event.value would return unrelated values such as PRESS, RELEASE, CLICK... etc. instead of NORTH, SOUTH... etc.
Diffstat (limited to 'source/blender/makesrna/intern/rna_wm.c')
-rw-r--r--source/blender/makesrna/intern/rna_wm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 1d833024823..e9b31b1d8b9 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -606,6 +606,18 @@ static PointerRNA rna_OperatorMacro_properties_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, ot->srna, otmacro->properties);
}
+static const EnumPropertyItem *rna_Event_value_itemf(bContext *UNUSED(C),
+ PointerRNA *ptr,
+ PropertyRNA *UNUSED(prop),
+ bool *UNUSED(r_free))
+{
+ const wmEvent *event = ptr->data;
+ if (ISTWEAK(event->type)) {
+ return event_tweak_value_items;
+ }
+ return rna_enum_event_value_items;
+}
+
static void rna_Event_ascii_get(PointerRNA *ptr, char *value)
{
const wmEvent *event = ptr->data;
@@ -2113,6 +2125,7 @@ static void rna_def_event(BlenderRNA *brna)
prop = RNA_def_property(srna, "value", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "val");
RNA_def_property_enum_items(prop, rna_enum_event_value_items);
+ RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_Event_value_itemf");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Value", "The type of event, only applies to some");