Commit 6816ad5e authored by AUTOMATIC1111's avatar AUTOMATIC1111
Browse files

fix broken reuse seed

parent 4e869090
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -54,7 +54,7 @@ class ScriptSeed(scripts.ScriptBuiltin):
        ]
        ]


        self.on_after_component(lambda x: connect_reuse_seed(self.seed, reuse_seed, x.component, False), elem_id=f'generation_info_{self.tabname}')
        self.on_after_component(lambda x: connect_reuse_seed(self.seed, reuse_seed, x.component, False), elem_id=f'generation_info_{self.tabname}')
        self.on_after_component(lambda x: connect_reuse_seed(self.seed, reuse_subseed, x.component, True), elem_id=f'generation_info_{self.tabname}')
        self.on_after_component(lambda x: connect_reuse_seed(subseed, reuse_subseed, x.component, True), elem_id=f'generation_info_{self.tabname}')


        return self.seed, subseed, subseed_strength
        return self.seed, subseed, subseed_strength


+24 −18
Original line number Original line Diff line number Diff line
@@ -62,10 +62,10 @@ class Script:
    api_info = None
    api_info = None
    """Generated value of type modules.api.models.ScriptInfo with information about the script for API"""
    """Generated value of type modules.api.models.ScriptInfo with information about the script for API"""


    on_before_component_elem_id = []
    on_before_component_elem_id = None
    """list of callbacks to be called before a component with an elem_id is created"""
    """list of callbacks to be called before a component with an elem_id is created"""


    on_after_component_elem_id = []
    on_after_component_elem_id = None
    """list of callbacks to be called after a component with an elem_id is created"""
    """list of callbacks to be called after a component with an elem_id is created"""


    def title(self):
    def title(self):
@@ -235,6 +235,8 @@ class Script:
        This function is an alternative to before_component in that it also cllows to run before a component is created, but
        This function is an alternative to before_component in that it also cllows to run before a component is created, but
        it doesn't require to be called for every created component - just for the one you need.
        it doesn't require to be called for every created component - just for the one you need.
        """
        """
        if self.on_before_component_elem_id is None:
            self.on_before_component_elem_id = []


        self.on_before_component_elem_id.append((elem_id, callback))
        self.on_before_component_elem_id.append((elem_id, callback))


@@ -242,6 +244,8 @@ class Script:
        """
        """
        Calls callback after a component is created. The callback function is called with a single argument of type OnComponent.
        Calls callback after a component is created. The callback function is called with a single argument of type OnComponent.
        """
        """
        if self.on_after_component_elem_id is None:
            self.on_after_component_elem_id = []


        self.on_after_component_elem_id.append((elem_id, callback))
        self.on_after_component_elem_id.append((elem_id, callback))


@@ -545,11 +549,15 @@ class ScriptRunner:
        self.infotext_fields.extend([(script.group, onload_script_visibility) for script in self.selectable_scripts])
        self.infotext_fields.extend([(script.group, onload_script_visibility) for script in self.selectable_scripts])


        for script in self.scripts:
        for script in self.scripts:
            for elem_id, callback in script.on_before_component_elem_id:
            for elem_id, callback in script.on_before_component_elem_id or []:
                self.on_before_component_elem_id.get(elem_id, []).append((callback, script))
                items = self.on_before_component_elem_id.get(elem_id, [])
                items.append((callback, script))
                self.on_before_component_elem_id[elem_id] = items


            for elem_id, callback in script.on_after_component_elem_id:
            for elem_id, callback in script.on_after_component_elem_id or []:
                self.on_after_component_elem_id.get(elem_id, []).append((callback, script))
                items = self.on_after_component_elem_id.get(elem_id, [])
                items.append((callback, script))
                self.on_after_component_elem_id[elem_id] = items


        return self.inputs
        return self.inputs


@@ -644,8 +652,7 @@ class ScriptRunner:
                errors.report(f"Error running postprocess_image: {script.filename}", exc_info=True)
                errors.report(f"Error running postprocess_image: {script.filename}", exc_info=True)


    def before_component(self, component, **kwargs):
    def before_component(self, component, **kwargs):
        for callbacks in self.on_before_component_elem_id.get(kwargs.get("elem_id"), []):
        for callback, script in self.on_before_component_elem_id.get(kwargs.get("elem_id"), []):
            for callback, script in callbacks:
            try:
            try:
                callback(OnComponent(component=component))
                callback(OnComponent(component=component))
            except Exception:
            except Exception:
@@ -658,8 +665,7 @@ class ScriptRunner:
                errors.report(f"Error running before_component: {script.filename}", exc_info=True)
                errors.report(f"Error running before_component: {script.filename}", exc_info=True)


    def after_component(self, component, **kwargs):
    def after_component(self, component, **kwargs):
        for callbacks in self.on_after_component_elem_id.get(component.elem_id, []):
        for callback, script in self.on_after_component_elem_id.get(component.elem_id, []):
            for callback, script in callbacks:
            try:
            try:
                callback(OnComponent(component=component))
                callback(OnComponent(component=component))
            except Exception:
            except Exception: