diff options
author | Dudemanguy <random342@airmail.cc> | 2024-02-25 13:10:52 -0600 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2024-04-18 17:40:16 +0000 |
commit | bc28f7693d095758275448410aaa91255482857a (patch) | |
tree | d8383859be031d7a702d3b6fc90465c5f58ca111 /etc | |
parent | db6b195f3fc5b6e6989c3203eeccdb33dcc29b24 (diff) | |
download | mpv-bc28f7693d095758275448410aaa91255482857a.tar.bz2 mpv-bc28f7693d095758275448410aaa91255482857a.tar.xz |
m_option: add a force_update boolean
mpv's core does not propagate option notifications unless they actually
change to the rest of the player. Most of the time, this makes perfect
sense. If the user sets fullscreen multiple times, there's no reason to
care about anything other than the change in state. However, there are
certain options where it makes sense to always broadcast a notification
even if the value doesn't change. For example, consider the window-scale
case. A user may set window-scale to some value, resize the window
further through some other means (such as mouse resizing) and then want
to set the window-scale again to the same value as earlier. The
window-scale value did not change from before so no notification is sent
and nothing happens even though it is desirable and expected that it
operates again.
This was solved by making the current-window-scale property writable a
few years ago, but actually the easier solution is to just always force
the option to update on any write. For the big callback, the needed
changes are trivial. Unfortunately, it requires a hot mess in order to
have this work with the m_config_cache_update APIs. Spooky stuff in
there, but it does send the notification now.
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions