Browse Source

update according to 0.3.1

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@686 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong 15 years ago
parent
commit
16f7ea2f95
2 changed files with 17 additions and 6 deletions
  1. 11 5
      components/rtgui/server/server.c
  2. 6 1
      components/rtgui/widgets/window.c

+ 11 - 5
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));
+		}
 	}
 }
 

+ 6 - 1
components/rtgui/widgets/window.c

@@ -156,6 +156,11 @@ void rtgui_win_destroy(struct rtgui_win* win)
 	}
 }
 
+void rtgui_win_close(struct rtgui_win* win)
+{
+	win->style |= RTGUI_WIN_STYLE_CLOSED;
+}
+
 rtgui_modal_code_t rtgui_win_show(struct rtgui_win* win, rt_bool_t is_modal)
 {
 	rtgui_modal_code_t result;
@@ -416,7 +421,7 @@ rt_bool_t rtgui_win_event_handler(struct rtgui_widget* widget, struct rtgui_even
 		if (widget->on_draw != RT_NULL) widget->on_draw(widget, event);
 		else 
 #endif
-		rtgui_win_ondraw(win);
+		rtgui_widget_update(RTGUI_WIDGET(win));
 
 		if (win->on_activate != RT_NULL)
 		{