]> git.sesse.net Git - vlc/commit
skins2: improve callback system
authorErwan Tulou <erwan10@videolan.org>
Wed, 28 Jul 2010 20:37:51 +0000 (22:37 +0200)
committerErwan Tulou <erwan10@videolan.org>
Sat, 31 Jul 2010 16:03:17 +0000 (18:03 +0200)
commit50200d70d0dc4497191e363ac06590bb5cd077c8
tree96b8f9a96645f57e414a5e73e8ead2643bd78a6e
parente13aa916fcc3b67a01e103fa88e9d7c4143844ab
skins2: improve callback system

This patch is mainly intended to work out the async queue getting
bigger and bigger when skins cannot keep up with command processing.
Since flushing the queue is an infinite loop, this ends up in vlc
hanging (frozen GUI). This happens when skins are complex (many controls,
many timers, animated images, scrolling text, ...)

With this patch, new commands of a given type can now replace pending
commands not yet processed when that makes sense (e.g position, volume, ...).
The position is really the one responsible for overflooding the queue.
modules/gui/skins2/commands/cmd_callbacks.hpp
modules/gui/skins2/src/vlcproc.cpp
modules/gui/skins2/src/vlcproc.hpp