diff options
| author | [email protected] <[email protected]> | 2010-09-24 09:38:16 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2010-09-24 09:38:16 +0000 |
| commit | bddae69d9c2e2b980cdeb6e1195517a6e8bee73a (patch) | |
| tree | 6f0d517a829becdc12f932837fd9e591cb71f78d /components/rtgui/server | |
| parent | cf2d8031cf1c0debae8f0ceef0765cbd8c1a3eba (diff) | |
fix view and workbench destroy issue.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@943 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui/server')
| -rw-r--r-- | components/rtgui/server/server.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/components/rtgui/server/server.c b/components/rtgui/server/server.c index 4b143438fc..65f5d6b321 100644 --- a/components/rtgui/server/server.c +++ b/components/rtgui/server/server.c @@ -136,7 +136,6 @@ void rtgui_server_thread_panel_hide(struct rtgui_event_panel_hide* event) if (panel != RT_NULL) { rt_thread_t tid; - struct rtgui_event_paint epaint; /* send the responses */ rtgui_thread_ack(RTGUI_EVENT(event), RTGUI_STATUS_OK); @@ -153,15 +152,20 @@ void rtgui_server_thread_panel_hide(struct rtgui_event_panel_hide* event) rtgui_list_append(&(panel->thread_list), &(thread->list)); } - /* get new active thread */ - tid = rtgui_panel_get_active_thread(panel); /* send all topwin clip info */ rtgui_topwin_update_clip_to_panel(panel); - /* send paint event */ - RTGUI_EVENT_PAINT_INIT(&epaint); - epaint.wid = RT_NULL; - rtgui_thread_send(tid, (struct rtgui_event*)&epaint, sizeof(epaint)); + /* get new active thread */ + tid = rtgui_panel_get_active_thread(panel); + if (tid != RT_NULL) + { + struct rtgui_event_paint epaint; + + /* send paint event */ + RTGUI_EVENT_PAINT_INIT(&epaint); + epaint.wid = RT_NULL; + rtgui_thread_send(tid, (struct rtgui_event*)&epaint, sizeof(epaint)); + } } else { |
