Commit 6f44d81
committed
fix(filter_protocol): route live FilterTransform instances via static catalogue
thunkCreate inserted the just-minted shared_ptr<FilterTransform> into a
per-instance live_instances_ map, but thunkDeleteInstance (a free
function — the per-id deleter handed back to plugins cannot capture
context) erased from the static catalogue() that nothing inserted
into. Net effect: every transform instance leaked forever, and the
library_owner shared_ptr ref that pins the plugin DSO never dropped
— a dialog refresh (which creates one instance per registered builtin,
12 of them) was an unbounded leak.
Route both insert and delete through catalogue() so the lifecycle is
consistent. Drop the dead live_instances_ member.1 parent ae50933 commit 6f44d81
1 file changed
Lines changed: 11 additions & 7 deletions
Lines changed: 11 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
161 | 166 | | |
162 | 167 | | |
163 | 168 | | |
164 | | - | |
| 169 | + | |
165 | 170 | | |
166 | 171 | | |
167 | 172 | | |
| |||
227 | 232 | | |
228 | 233 | | |
229 | 234 | | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
235 | 239 | | |
236 | 240 | | |
237 | 241 | | |
0 commit comments