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:
Diffstat (limited to 'source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c')
-rw-r--r--source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index d805d730651..18bee2e4457 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@ -159,8 +159,8 @@ wmManipulator *wm_manipulatorgroup_find_intersected_mainpulator(
unsigned char *part)
{
for (wmManipulator *manipulator = mgroup->manipulators.first; manipulator; manipulator = manipulator->next) {
- if (manipulator->type.intersect && (manipulator->flag & WM_MANIPULATOR_HIDDEN) == 0) {
- if ((*part = manipulator->type.intersect(C, manipulator, event))) {
+ if (manipulator->type->intersect && (manipulator->flag & WM_MANIPULATOR_HIDDEN) == 0) {
+ if ((*part = manipulator->type->intersect(C, manipulator, event))) {
return manipulator;
}
}
@@ -176,8 +176,8 @@ void wm_manipulatorgroup_intersectable_manipulators_to_list(const wmManipulatorG
{
for (wmManipulator *manipulator = mgroup->manipulators.first; manipulator; manipulator = manipulator->next) {
if ((manipulator->flag & WM_MANIPULATOR_HIDDEN) == 0) {
- if (((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) && manipulator->type.draw_select) ||
- ((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) == 0 && manipulator->type.intersect))
+ if (((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) && manipulator->type->draw_select) ||
+ ((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) == 0 && manipulator->type->intersect))
{
BLI_addhead(listbase, BLI_genericNodeN(manipulator));
}
@@ -297,8 +297,8 @@ typedef struct ManipulatorTweakData {
static void manipulator_tweak_finish(bContext *C, wmOperator *op, const bool cancel)
{
ManipulatorTweakData *mtweak = op->customdata;
- if (mtweak->active->type.exit) {
- mtweak->active->type.exit(C, mtweak->active, cancel);
+ if (mtweak->active->type->exit) {
+ mtweak->active->type->exit(C, mtweak->active, cancel);
}
wm_manipulatormap_set_active_manipulator(mtweak->mmap, C, NULL, NULL);
MEM_freeN(mtweak);
@@ -338,8 +338,11 @@ static int manipulator_tweak_modal(bContext *C, wmOperator *op, const wmEvent *e
}
/* handle manipulator */
- if (manipulator->type.handler) {
- manipulator->type.handler(C, manipulator, event, mtweak->flag);
+ if (manipulator->custom_handler) {
+ manipulator->custom_handler(C, manipulator, event, mtweak->flag);
+ }
+ else if (manipulator->type->handler) {
+ manipulator->type->handler(C, manipulator, event, mtweak->flag);
}
/* Ugly hack to send manipulator events */