diff --git a/extensions-builtin/sdnext-kanvas b/extensions-builtin/sdnext-kanvas index dc7cfbfac..a18c8a90a 160000 --- a/extensions-builtin/sdnext-kanvas +++ b/extensions-builtin/sdnext-kanvas @@ -1 +1 @@ -Subproject commit dc7cfbface201e95f7795f82d4b33ad880e5766b +Subproject commit a18c8a90a27fa79689fb976bdabd167e437a3978 diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index 7d89b6efe..37b51427a 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit 7d89b6efed2f22e5f6aa85f810fed6177f212389 +Subproject commit 37b51427a974a9410bf42c3858b3abdc820466a9 diff --git a/javascript/control.js b/javascript/control.js index 1db434778..1e99a4d26 100644 --- a/javascript/control.js +++ b/javascript/control.js @@ -4,14 +4,14 @@ function controlInputMode(inputMode, ...args) { const tab = gradioApp().querySelector('#control-tab-input button.selected'); if (!tab) return ['Image', ...args]; let inputTab = tab.innerText; - log('controlInputMode', inputMode, inputTab); - if ((inputTab === 'Image') && ('kanvas' in window)) { + log('controlInputMode', { mode: inputMode, tab: inputTab, kanvas: typeof Kanvas }); + if ((inputTab === 'Image') && (typeof 'Kanvas' !== 'undefined')) { inputTab = 'Kanvas'; // const imageData = window.kanvas.getImageData(); const imageData = window.kanvas.getImage(); args[0] = imageData; } - return [inputMode, ...args]; + return [inputTab, ...args]; } async function setupControlUI() { diff --git a/modules/control/run.py b/modules/control/run.py index 360b0b446..b33a2774d 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -521,7 +521,7 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg yield terminate('Interrupted') return [], '', '', 'Interrupted' # get input - if isinstance(input_image, str): + if isinstance(input_image, str) and os.path.exists(input_image): try: input_image = Image.open(input_image) except Exception as e: diff --git a/modules/ui_control_helpers.py b/modules/ui_control_helpers.py index 99504491a..6940411ef 100644 --- a/modules/ui_control_helpers.py +++ b/modules/ui_control_helpers.py @@ -67,6 +67,8 @@ def display_units(num_units): def get_video(filepath: str): + if not os.path.exists(filepath): + return '' try: frames, fps, duration, w, h, codec, _cap = video.get_video_params(filepath) shared.log.debug(f'Control: input video: path={filepath} frames={frames} fps={fps} size={w}x{h} codec={codec}') @@ -175,7 +177,7 @@ def select_input(input_mode, input_image, init_image, init_type, input_video, in input_source = [selected_input.value] input_type = 'gr.Image' res = [gr.Tabs.update(selected='out-gallery'), input_mask, status] - elif isinstance(selected_input, str): # video via upload > tmp filepath to video + elif isinstance(selected_input, str) and os.path.exists(selected_input): # video via upload > tmp filepath to video input_source = selected_input input_type = 'gr.Video' status = get_video(input_source)