diff options
Diffstat (limited to 'components/rtgui')
| -rw-r--r-- | components/rtgui/widgets/box.c | 6 | ||||
| -rw-r--r-- | components/rtgui/widgets/combobox.c | 4 | ||||
| -rw-r--r-- | components/rtgui/widgets/workbench.c | 1 |
3 files changed, 8 insertions, 3 deletions
diff --git a/components/rtgui/widgets/box.c b/components/rtgui/widgets/box.c index 579e3dfffe..e5fc0e8318 100644 --- a/components/rtgui/widgets/box.c +++ b/components/rtgui/widgets/box.c @@ -75,6 +75,12 @@ void rtgui_box_append(struct rtgui_box* box, rtgui_widget_t* widget) rtgui_container_add_child(RTGUI_CONTAINER(box), widget); } +void rtgui_box_delete(struct rtgui_box* box, rtgui_widget_t* widget) +{ + /* remove from box's children list */ + rtgui_container_remove_child(RTGUI_CONTAINER(box), widget); +} + static void rtgui_box_layout_vertical(rtgui_box_t* box) { rtgui_list_t *node; diff --git a/components/rtgui/widgets/combobox.c b/components/rtgui/widgets/combobox.c index c119162003..972d467fed 100644 --- a/components/rtgui/widgets/combobox.c +++ b/components/rtgui/widgets/combobox.c @@ -207,13 +207,11 @@ rt_bool_t rtgui_combobox_event_handler(struct rtgui_widget* widget, struct rtgui case RTGUI_EVENT_FOCUSED:
{
/* item focused */
- struct rtgui_item* item;
struct rtgui_event_focused* focused;
focused = (struct rtgui_event_focused*) event;
- item = (struct rtgui_item*) (focused->widget);
- if (item != RT_NULL)
+ if (focused->widget != RT_NULL)
{
/* hide pull down window */
rtgui_win_hiden(RTGUI_WIN(box->pd_win));
diff --git a/components/rtgui/widgets/workbench.c b/components/rtgui/widgets/workbench.c index 1e57df70a9..4dd3f7e6e8 100644 --- a/components/rtgui/widgets/workbench.c +++ b/components/rtgui/widgets/workbench.c @@ -147,6 +147,7 @@ void rtgui_workbench_close(rtgui_workbench_t* workbench) /* detach from panel */ edetach.panel = workbench->panel; + edetach.workbench = workbench; /* send PANEL DETACH to server */ if (rtgui_thread_send_sync(RTGUI_TOPLEVEL(workbench)->server, |
