Skip to content

Fix FilterGroup::GetFramebuffer/SetFramebuffer dead delegation - #241

Open
avosa wants to merge 1 commit into
pixpark:mainfrom
avosa:fix-filtergroup-framebuffer-delegation
Open

Fix FilterGroup::GetFramebuffer/SetFramebuffer dead delegation#241
avosa wants to merge 1 commit into
pixpark:mainfrom
avosa:fix-filtergroup-framebuffer-delegation

Conversation

@avosa

@avosa avosa commented Aug 15, 2026

Copy link
Copy Markdown

GetFramebuffer() always returns null and SetFramebuffer() is a no-op: both bodies delegate to terminal_filter_, but the actual calls are commented out. Any consumer holding a FilterGroup subclass (BeautyFaceFilter, FaceReshapeFilter, and anything else built on FilterGroup) and calling GetFramebuffer() on it gets null even right after a successful render, since the group's own framebuffer_ member is never populated - only its internal terminal filter's is.

Uncommented both delegations. AddSink/DoUpdateSinks already route through terminal_filter_ correctly and are unaffected; this only fixes the direct accessor path.

Found while building a GPU compositing bridge on top of BeautyFaceFilter's output - GetFramebuffer() silently returning null was the first symptom.

FilterGroup::GetFramebuffer() always returns null and SetFramebuffer()
is a no-op: both bodies delegate to terminal_filter_ but the actual
calls are commented out. Any consumer holding a FilterGroup subclass
(BeautyFaceFilter, FaceReshapeFilter, etc. by way of their shared base)
and calling GetFramebuffer() on it gets null even after a successful
render, since the group's own framebuffer_ member is never populated -
only its internal terminal filter's is.

Uncommented both delegations. AddSink/DoUpdateSinks are unaffected (they
already route through terminal_filter_ correctly), so this only fixes
the direct accessor path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant