diff options
author | David 'Digit' Turner <digit@android.com> | 2010-10-20 19:04:51 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2010-10-20 19:04:51 +0200 |
commit | 80bc5c8c7b9c50e8f302c22c2fba42dd6e8aa2df (patch) | |
tree | 50bc7e6512e1465a690b7b1569483034dcadefcf /android/config | |
parent | 18fe86e8245878f3b7a2813bd59b8cfcf636e15c (diff) | |
download | external_qemu-80bc5c8c7b9c50e8f302c22c2fba42dd6e8aa2df.zip external_qemu-80bc5c8c7b9c50e8f302c22c2fba42dd6e8aa2df.tar.gz external_qemu-80bc5c8c7b9c50e8f302c22c2fba42dd6e8aa2df.tar.bz2 |
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
Diffstat (limited to 'android/config')
-rw-r--r-- | android/config/check-esd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/android/config/check-esd.c b/android/config/check-esd.c index a8eb11b..684afe2 100644 --- a/android/config/check-esd.c +++ b/android/config/check-esd.c @@ -47,7 +47,7 @@ int main( void ) esd_lib = dlopen( "libesd.so.0", RTLD_NOW ); if (esd_lib == NULL) { - D("could not find libesd on this system"); + D("could not find libesd on this system\n"); return 1; } |