scummvm/scummvm — pull request #421 by lordhoto (2014-01-21 18:47:20+00:00)
Title: BUILD: Taskbar Cleanup/Fixes

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 approach should make commits like 0af3db72c54d99c49a926d65b4e7596823996404 (and the same change in pull request #413 for Wii) superflous and thus make maintenance easier.

An alternative approach would be to either always assure that backends return at least a dummy implementation when USE_TASKBAR is defined and/or make client code handle nullptr returns in getTaskbarManager(). Both is not really nice since it's strange that configure would then claim there's taskbar integration support when there's none...