diff options
| author | [email protected] <[email protected]> | 2011-03-06 04:16:31 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2011-03-06 04:16:31 +0000 |
| commit | 62c1662366eeb7f7f0b5c3bc8d2d9549bca40ca2 (patch) | |
| tree | 403b54f0332eefa16d1508ad9060ebd12350afb5 /components/rtgui/server | |
| parent | 71421510fc9e2ff09ac5b7f88de50d9c307bd235 (diff) | |
fix destroy an application issue when there is no another application in the panel.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1312 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui/server')
| -rw-r--r-- | components/rtgui/server/server.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/components/rtgui/server/server.c b/components/rtgui/server/server.c index 65f5d6b321..26a4bcf6e0 100644 --- a/components/rtgui/server/server.c +++ b/components/rtgui/server/server.c @@ -79,12 +79,14 @@ void rtgui_server_destroy_application(struct rtgui_event_panel_detach* event) { /* get next thread and active it */ rt_thread_t tid = rtgui_panel_get_active_thread(panel); - - /* let this thread repaint */ - struct rtgui_event_paint epaint; - RTGUI_EVENT_PAINT_INIT(&epaint); - epaint.wid = RT_NULL; - rtgui_thread_send(tid, (struct rtgui_event*)&epaint, sizeof(epaint)); + if (tid != RT_NULL) + { + /* let this thread repaint */ + struct rtgui_event_paint epaint; + RTGUI_EVENT_PAINT_INIT(&epaint); + epaint.wid = RT_NULL; + rtgui_thread_send(tid, (struct rtgui_event*)&epaint, sizeof(epaint)); + } } } else |
