obs-studio
obs-studio copied to clipboard
OBS not saving last path when browsing for LUT filter
Operating System Info
Windows 10
Other OS
No response
OBS Studio Version
27.2.4
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/qYRCAtNpCPG4fZOM
OBS Studio Crash Log URL
No response
Expected Behavior
I expect that OBS saves the last folder I was viewing when I selected the filter I want to use, so I can try out multiple filters
Current Behavior
When selecting a LUT filter for a source, it does not save the last path you were browsing at that moment, but it saves when you click "Close" and open the window up again.
Steps to Reproduce
- Add source like a webcam or something
- Open Filters
- Apply LUT Filter
- Browse for a filter, and go to a folder that is not the default obs-filters folder
- Select one
- Browse for a filter again
- The last path you were in did not save.
Now do this again but instead of browsing for a filter again, close the filters window, open it again then browse for a filter, it will then have your last path saved, but this is not the wanted and convenient behavior. ...
Anything else we should know?
No response
This situation is caused by obs_properties_add_path arg5 default_path.
When this argument is not NULL like in LUT, the path dialog will always show default_path or s->file after that property UI construction.
I think this is a bug. This path property dialog default path should be changed after user changing the path setting.
Looking into this and the linked PR to make sure I understand the scope. Leaving some notes here.
The Path property of the "Image Mask/Blend" filter does not have this issue, because it specifies NULL for default_path to obs_properties_add_path. The "Image File" property of the Image Source does not have this issue because its path used for default_path is initialized as NULL and has no default value. Every other case in the obs-studio code that I examined is similar to Image Source, and is not susceptible to this bug, so this appears to be unique to the LUT filter (at least in obs-studio code) because it always specifies a path for default_path.