Skip to content

Commit 382e213

Browse files
committed
Clear incompatible IP-Adapter when base model changes in the Linear UI.
1 parent 2a3909d commit 382e213

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

  • invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { logger } from 'app/logging/logger';
22
import { setBoundingBoxDimensions } from 'features/canvas/store/canvasSlice';
3-
import { controlNetRemoved } from 'features/controlNet/store/controlNetSlice';
3+
import {
4+
controlNetRemoved,
5+
ipAdapterStateReset,
6+
} from 'features/controlNet/store/controlNetSlice';
47
import { loraRemoved } from 'features/lora/store/loraSlice';
58
import { modelSelected } from 'features/parameters/store/actions';
69
import {
@@ -56,6 +59,7 @@ export const addModelSelectedListener = () => {
5659
modelsCleared += 1;
5760
}
5861

62+
// handle incompatible controlnets
5963
const { controlNets } = state.controlNet;
6064
forEach(controlNets, (controlNet, controlNetId) => {
6165
if (controlNet.model?.base_model !== base_model) {
@@ -64,6 +68,16 @@ export const addModelSelectedListener = () => {
6468
}
6569
});
6670

71+
// handle incompatible IP-Adapter
72+
const { ipAdapterInfo } = state.controlNet;
73+
if (
74+
ipAdapterInfo.model &&
75+
ipAdapterInfo.model.base_model !== base_model
76+
) {
77+
dispatch(ipAdapterStateReset());
78+
modelsCleared += 1;
79+
}
80+
6781
if (modelsCleared > 0) {
6882
dispatch(
6983
addToast(

0 commit comments

Comments
 (0)