|
16 | 16 | #include <thread.h> |
17 | 17 | #include <ui_server.h> |
18 | 18 | #include <LCUI/ui.h> |
| 19 | +#include <LCUI/worker.h> |
19 | 20 |
|
20 | 21 | #define DEFAULT_WINDOW_WIDTH 800 |
21 | 22 | #define DEFAULT_WINDOW_HEIGHT 600 |
@@ -97,11 +98,13 @@ static void lcui_ui_close_window(void *arg) |
97 | 98 | ptk_window_close(arg); |
98 | 99 | } |
99 | 100 |
|
100 | | -void lcui_ui_set_display(lcui_display_t mode) |
| 101 | +static void lcui_ui_on_set_display(void *data) |
101 | 102 | { |
| 103 | + |
102 | 104 | ptk_window_t *wnd; |
103 | 105 | list_node_t *node; |
104 | 106 | ui_mutation_observer_init_t options = { 0 }; |
| 107 | + lcui_display_t mode = (lcui_display_t)data; |
105 | 108 |
|
106 | 109 | if (mode == LCUI_DISPLAY_DEFAULT) { |
107 | 110 | mode = LCUI_DISPLAY_WINDOWED; |
@@ -160,6 +163,11 @@ void lcui_ui_set_display(lcui_display_t mode) |
160 | 163 | lcui_ui.quit_after_all_windows_closed = true; |
161 | 164 | } |
162 | 165 |
|
| 166 | +void lcui_ui_set_display(lcui_display_t mode) |
| 167 | +{ |
| 168 | + lcui_worker_post_task((void*)mode, lcui_ui_on_set_display, NULL); |
| 169 | +} |
| 170 | + |
163 | 171 | static void lcui_ui_image_loader_refresh(void) |
164 | 172 | { |
165 | 173 | thread_mutex_lock(&lcui_ui.image_loader.mutex); |
@@ -198,8 +206,6 @@ void lcui_ui_init(void) |
198 | 206 |
|
199 | 207 | ui_init(); |
200 | 208 | ui_server_init(); |
201 | | - ui_widget_resize(ui_root(), DEFAULT_WINDOW_WIDTH, |
202 | | - DEFAULT_WINDOW_HEIGHT); |
203 | 209 | list_create(&lcui_ui.windows); |
204 | 210 | lcui_ui_set_display(LCUI_DISPLAY_DEFAULT); |
205 | 211 | ptk_on_event(PTK_EVENT_CLOSE, lcui_ui_on_window_destroy, NULL); |
|
0 commit comments