fix view and workbench destroy issue.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@943 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
bernard.xiong@gmail.com
2010-09-24 09:38:16 +00:00
parent cf2d8031cf
commit bddae69d9c
2 changed files with 14 additions and 10 deletions

View File

@@ -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
{