BUILD: Auto detect taskbar support.

Formerly the taskbar support was *always* enabled except when the backend or
user specified that it should be disabled. This causes nasty crashes for
backends which do not have any taskbar support (like DC, Tizen and probably
more which simply did not disable it so far) when defaultErrorHandler was
called for example (Mass Add is also broken for those).
The SDL (and derived backends) worked around missing taskbar support by
simply faking a dummy taskbar implementation (but still claiming in configure
that we feature taskbar integration, ouch).

To avoid all non-SDL backends from manually specifying _taskbar=no I added
some auto detection code which simply only enables taskbar support in case
ScummVM is built on Win32 or libunity is present.
This commit is contained in:
Johannes Schickel 2014-01-21 19:19:27 +01:00
parent 4412e12deb
commit db07a1cfac

17
configure vendored
View file

@ -126,7 +126,7 @@ _opengl=auto
_opengles=auto _opengles=auto
_readline=auto _readline=auto
_freetype2=auto _freetype2=auto
_taskbar=yes _taskbar=auto
_updates=no _updates=no
_libunity=auto _libunity=auto
# Default option behavior yes/no # Default option behavior yes/no
@ -2427,7 +2427,6 @@ if test -n "$_host"; then
CXXFLAGS="$CXXFLAGS -fno-delayed-branch" CXXFLAGS="$CXXFLAGS -fno-delayed-branch"
_backend="dc" _backend="dc"
_build_scalers=no _build_scalers=no
_taskbar=no
_mad=yes _mad=yes
_zlib=yes _zlib=yes
add_line_to_config_mk 'ronindir = /usr/local/ronin' add_line_to_config_mk 'ronindir = /usr/local/ronin'
@ -2686,7 +2685,6 @@ if test -n "$_host"; then
_backend="tizen" _backend="tizen"
_port_mk="backends/platform/tizen/tizen.mk" _port_mk="backends/platform/tizen/tizen.mk"
_arm_asm=yes _arm_asm=yes
_taskbar=no
_build_scalers=no _build_scalers=no
_seq_midi=no _seq_midi=no
_mt32emu=no _mt32emu=no
@ -3989,24 +3987,27 @@ fi
# Check whether to build taskbar integration support # Check whether to build taskbar integration support
# #
echo_n "Building taskbar integration support... " echo_n "Building taskbar integration support... "
define_in_config_if_yes $_taskbar 'USE_TASKBAR' if test "$_taskbar" = "no"; then
if test "$_taskbar" = yes; then echo "no"
else
case $_host_os in case $_host_os in
mingw*) mingw*)
LIBS="$LIBS -lole32 -luuid" LIBS="$LIBS -lole32 -luuid"
echo "win32" echo "win32"
_taskbar=yes
;; ;;
*) *)
if test "$_libunity" = yes; then if test "$_libunity" = yes; then
echo "unity" echo "unity"
_taskbar=yes
else else
echo "$_taskbar" echo "no"
_taskbar=no
fi fi
;; ;;
esac esac
else
echo "$_taskbar"
fi fi
define_in_config_if_yes $_taskbar 'USE_TASKBAR'
# #
# Check whether to build Bink video support # Check whether to build Bink video support