diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index d62c20d4589..68b6265ab15 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -960,10 +960,13 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): layout.separator() + col = layout.column() + col.active = md.target is not None + if md.is_bound: - layout.operator("object.surfacedeform_bind", text="Unbind") + col.operator("object.surfacedeform_bind", text="Unbind") else: - layout.operator("object.surfacedeform_bind", text="Bind") + col.operator("object.surfacedeform_bind", text="Bind") def UV_PROJECT(self, layout, ob, md): split = layout.split() diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 38df1116cd3..d601f5c3b14 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -2299,14 +2299,7 @@ void OBJECT_OT_laplaciandeform_bind(wmOperatorType *ot) static int surfacedeform_bind_poll(bContext *C) { - if (edit_modifier_poll_generic(C, &RNA_SurfaceDeformModifier, 0)) { - PointerRNA ptr = CTX_data_pointer_get_type(C, "modifier", &RNA_SurfaceDeformModifier); - SurfaceDeformModifierData *smd = (SurfaceDeformModifierData *)ptr.data; - - return ((smd != NULL) && (smd->target != NULL)); - } - - return 0; + return edit_modifier_poll_generic(C, &RNA_SurfaceDeformModifier, 0); } static int surfacedeform_bind_exec(bContext *C, wmOperator *op)