Page MenuHome

Subsurf modifier does not trigger is_updated or is_updated_data when changing render levels.
Closed, ArchivedPublic

Description

System Information
Tested in Windows 10, 7 and Mac OS 10.6.8

Blender Version
Broken: 2.77

Short description of error
Subsurf modifier does not trigger is_updated or is_updated_data on the active_object when changing render_levels.

Exact steps for others to reproduce the error
Open default scene.
Add subsurf modifier to cube.
Run the script below.
Change the render_levels value for the subsurf.
Check output in the System Console.

import bpy

def track(scene):
    if bpy.context.active_object.is_updated:
        print ("Object is updated")
        
    if bpy.context.active_object.is_updated_data:
        print ("Object Data is updated")

bpy.app.handlers.scene_update_post.append(track)

Event Timeline

Jeremy Folland (Funkitron) raised the priority of this task from to 90.
Jeremy Folland (Funkitron) updated the task description. (Show Details)
Jeremy Folland (Funkitron) edited a custom field.
Sergey Sharybin (sergey) changed the task status from Unknown Status to Unknown Status.May 3 2016, 11:09 AM
Sergey Sharybin (sergey) claimed this task.

Currently is_updated flags are used to inform render engine that viewport is to to be re-rendered. Adding more cases when is_updated is set but viewport does not change will lead to unwanted viewport re-renders.

So thanks for the report, but it's not really a bug.