| @@ -137,8 +137,19 @@ | ||
| 137 | 137 | |
| 138 | 138 | // Open on "All" when the saved voice is not native to the language, so that |
| 139 | 139 | // voice stays visible in the list. |
| 140 | 140 | const nativeSeeded = useRef( false ); |
| 141 | + | |
| 142 | + // Disabled stays mounted, so reset by hand or Customize off → on never re-seeds. | |
| 143 | + // The filter resets too: the seeding effect only ever opens it to "All". | |
| 144 | + useEffect( () => { | |
| 145 | + if ( ! enabled ) { | |
| 146 | + seedStep.current = 0; | |
| 147 | + nativeSeeded.current = false; | |
| 148 | + setNativeFilter( NATIVE_ONLY ); | |
| 149 | + } | |
| 150 | + }, [ enabled ] ); | |
| 151 | + | |
| 141 | 152 | useEffect( () => { |
| 142 | 153 | if ( nativeSeeded.current || ! enabled || voicesResolving ) { |
| 143 | 154 | return; |
| 144 | 155 | } |