InamuraJIN / ActionRecorder

GNU General Public License v3.0
178 stars 15 forks source link

Wrong operator values adding macros if operator box is changed before #54

Closed GustJc closed 6 months ago

GustJc commented 10 months ago

Describe the bug Added or Recorded macros gets added with wrong operator parameters.

This happens because blender saves operator parameters changed by the user.

Notice on the video. The first time, when changing the operator 'Merge', it is properly executed as: bpy.ops.mesh.bridge_edge_loops(use_merge=True) But on the next execution. It gets called as: bpy.ops.mesh.bridge_edge_loops() Even though it is executed with use_merge=True This is a blender problem. It doesn't pass the operator values that has been changed by the user and uses a 'cached' value in the blender session somehow.

Not sure how to solve this. But this is very bad and can lead to a lot of confusion and problems if the user doesn't know about it.

operator_problme

To Reproduce Steps to reproduce the behavior:

  1. Execute a command and change a value on the operator box
  2. Undo the command.
  3. Execute it again. The changed value is already there now.
  4. Add the macro with the '+' button
  5. Execute the macro

Expected behavior Should be able to understand changed values on the operator box.

Version Information:

RivinHD commented 10 months ago

Thanks for reporting this bug.

I think it is fixable. Blender provieds some more past state data for operators other than the reports.

RivinHD commented 6 months ago

This is already fixed in the current development version

RivinHD commented 6 months ago

Fixed with Version 4.0.1