NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.53k stars 330 forks source link

Fix QMutexLocker bug #950

Closed acolwell closed 3 months ago

acolwell commented 3 months ago

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:

PR Description

What type of PR is this? (Check one of the boxes below)

What does this pull request do?

Fixing GenericWatcher::scheduleBlockingTask() so that it actually holds the tasksMutex when it is pushing new task information.

Have you tested your changes (if applicable)? If so, how?

Yes. I basically just did simple tests that make sure when the function gets called everything still seems to work. I did not notice any problems caused by this change.

Futher details of this pull request

I suspect it could fix potential race conditions, but I didn't ever actually encounter any issues like that. I just happened to come across this code and realized that the queue was not being protected like the original author probably intended.