Add-ons

Objects pointers brokes if undo/redo operation is used

In Blender 2.8x the undo/redo operation system (ctrl+z / ctrl+shift+z) has been completely rebuilt. One of the results of this API change is when the undo operation is performed, all objects in the scene are fully recreated – the current object is destroyed, and a completely new object is created instead. Pointers to the old objects (before the undo operation) now point to invalid objects that can no longer be used.

Add-ons reload through the F8 key shot

Add-ons are not reloaded by pressing the F8 key in the Preferences – Add-ons window in Blender 2.83. The add-ons reload function call with this key shot was no longer tied starting with Blender 2.80.

To bind the add-ons reloading to the F8 key shot again:

  1. Open the “Preferences” window
  2. Open the the “Keymap” section
  3. Expand the “Screen – Screen (Global)” branch
  4. Press the “Add new” button at the bottom of the list
  5. In the operator identifier field, type “script.reload”
  6. Click on the keyboard field and press F8 to bind this key to the specified operator call
  7. Press the “Save Preferences” button to save new settings

Setting operator parameters features

When you make a button in a custom UI to call the operator with passing the necessary parameters to it, pay attention that only the parameters specified explicitly will be sent to the operator. Other operator parameters will remain with default values.

For example, we need to execute the “transform_apply” operator – applying object transformations with applying just the scale.

If we call the operator as follows:

But all transformation (scale, rotation, and position) will still be applied to the object.