diff options
author | 2008-12-17 18:05:43 -0800 | |
---|---|---|
committer | 2008-12-17 18:05:43 -0800 | |
commit | e09fd9e819c23dc90bca68375645e15544861330 (patch) | |
tree | 9a9fdadd1301625f875a3c126c986c79e3363ac4 /libs/ui/EventHub.cpp | |
parent | 7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407 (diff) |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'libs/ui/EventHub.cpp')
-rw-r--r-- | libs/ui/EventHub.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp index f0c77ba42b..abe74077f9 100644 --- a/libs/ui/EventHub.cpp +++ b/libs/ui/EventHub.cpp @@ -315,9 +315,8 @@ bool EventHub::getEvent(int32_t* outDeviceId, int32_t* outType, } //printf("poll %d, returned %d\n", mFDCount, pollres); - if(mFDs[0].revents & POLLIN) { - read_notify(mFDs[0].fd); - } + + // mFDs[0] is used for inotify, so process regular events starting at mFDs[1] for(i = 1; i < mFDCount; i++) { if(mFDs[i].revents) { LOGV("revents for %d = 0x%08x", i, mFDs[i].revents); @@ -357,6 +356,12 @@ bool EventHub::getEvent(int32_t* outDeviceId, int32_t* outType, } } } + + // read_notify() will modify mFDs and mFDCount, so this must be done after + // processing all other events. + if(mFDs[0].revents & POLLIN) { + read_notify(mFDs[0].fd); + } } } @@ -607,7 +612,7 @@ int EventHub::open_device(const char *deviceName) sprintf(propName, "hw.keyboards.%u.devname", publicID); property_set(propName, devname); - LOGI("New keyboard: publicID=%d device->id=%d devname='%s propName='%s' keylayout='%s'\n", + LOGI("New keyboard: publicID=%d device->id=%d devname='%s' propName='%s' keylayout='%s'\n", publicID, device->id, devname, propName, keylayoutFilename); } |