diff options
| author | bernard.xiong <[email protected]> | 2010-05-02 12:26:19 +0000 |
|---|---|---|
| committer | bernard.xiong <[email protected]> | 2010-05-02 12:26:19 +0000 |
| commit | 16f7ea2f957efcd4afe7ccf62e128362ad3867ec (patch) | |
| tree | 7ae56a8223705348a3004ee1cecbfa9281d8e824 /components/rtgui/server/server.c | |
| parent | 030b39fad45adf285e9d4fb39bb6002210635afd (diff) | |
update according to 0.3.1
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@686 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui/server/server.c')
| -rw-r--r-- | components/rtgui/server/server.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/components/rtgui/server/server.c b/components/rtgui/server/server.c index 2d4b5c317b..beea4a9718 100644 --- a/components/rtgui/server/server.c +++ b/components/rtgui/server/server.c @@ -456,12 +456,18 @@ void rtgui_server_handle_kbd(struct rtgui_event_kbd* event) panel = rtgui_server_focus_panel; if (panel != RT_NULL) { - /* send to focus panel */ - event->wid = RT_NULL; + rt_thread_t tid; - /* send keyboard event to thread */ - rtgui_thread_send(rtgui_panel_get_active_thread(panel), - (struct rtgui_event*)event, sizeof(struct rtgui_event_kbd)); + /* get active thread in this panel */ + tid = rtgui_panel_get_active_thread(panel); + if (tid != RT_NULL) + { + /* send to focus panel */ + event->wid = RT_NULL; + + /* send keyboard event to thread */ + rtgui_thread_send(tid, (struct rtgui_event*)event, sizeof(struct rtgui_event_kbd)); + } } } |
