Fix infinite loops related to endProcess on GPUImageFilter #1295

Merged
merged 1 commit into from Nov 11, 2013

Conversation

Projects
None yet
2 participants
Contributor

achambers16 commented Nov 8, 2013

When removeTarget is called on a GPUImageFilter that contains a loop in the filter outputs (such as GPUImageLowPassFilter), an infinite loop is created while tearing down the filters. This loop comes from recursive calls to endProcess.

We can avoid this by adding a status flag in the GPUImageFilter and GPUImageFilterGroup to check if the filter has already started the endProcess method and do no work if it has already started.

This resolves issue: #793

@BradLarson BradLarson added a commit that referenced this pull request Nov 11, 2013

@BradLarson BradLarson Merge pull request #1295 from achambers16/fix-endprocess-loop
Fix infinite loops related to endProcess on GPUImageFilter
2e8df3d

@BradLarson BradLarson merged commit 2e8df3d into BradLarson:master Nov 11, 2013

Owner

BradLarson commented Nov 11, 2013

Seems to make sense. I seem to recall trying something similar elsewhere, but I can't find it now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment