From 80bc5c8c7b9c50e8f302c22c2fba42dd6e8aa2df Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Wed, 20 Oct 2010 19:04:51 +0200 Subject: Fix incorrect orientation at boot. The goldfish kernel's event driver is very picky about the state of the virtual device it talks to. Essentially, it can only listen to h/w events if the corresponding IRQ is raised _after_ it has completed some initial setup. If the IRQ is raised before, the driver will refuse to listen to events, and any interaction becomes impossible. We changed the way our UI windows are built and managed previously, and this had the unfortunate effect of sending one h/w event too soon, which, in the old code, would raise the IRQ prematurely. This resulted in an input freeze. To work around this the UI code was modified to not send the initial h/w event, but this resulted in bad orientation of the home screen at the end of the boot sequence. This change allows the virtual device to wait for the kernel driver before raising the IRQ, in the case any h/w event has been buffered. It also removes the hack in the UI code, allowing the send of the initial h/w event at startup. BONUS MINOR CHANGES: EsounD probe: fix error message. console: fix compiler warnings libpng: proper handling of MMX support. android-configure.sh: fix --ignore-audio handling The option didn't do anything if the audio development packages are properly installed on the system. Change-Id: Ib134158873d5cb72290c9676d92d20233226c889 --- android-configure.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'android-configure.sh') diff --git a/android-configure.sh b/android-configure.sh index f31831c..fbc7f0d 100755 --- a/android-configure.sh +++ b/android-configure.sh @@ -275,6 +275,12 @@ esac ORG_CFLAGS=$CFLAGS ORG_LDFLAGS=$LDFLAGS +if [ "$OPTION_IGNORE_AUDIO" = "yes" ] ; then +PROBE_ESD_ESD=no +PROBE_ALSA=no +PROBE_PULSEAUDIO=no +fi + # Probe a system library # # $1: Variable name (e.g. PROBE_ESD) @@ -290,17 +296,17 @@ probe_system_library () cp -f android/config/check-esd.c $TMPC compile && link && $TMPE if [ $? = 0 ] ; then - log "AudioProbe : $1 seems to be usable on this system" + log "AudioProbe : $2 seems to be usable on this system" else if [ "$OPTION_IGNORE_AUDIO" = no ] ; then - echo "the $1 development files do not seem to be installed on this system" - echo "Are you missing the $3 package ?" + echo "The $2 development files do not seem to be installed on this system" + echo "Are you missing the $4 package ?" echo "Correct the errors below and try again:" cat $TMPL clean_exit fi eval $1=no - log "AudioProbe : $1 seems to be UNUSABLE on this system !!" + log "AudioProbe : $2 seems to be UNUSABLE on this system !!" fi fi } -- cgit v1.1