X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Ftwin%2Fpbt-scr.c;h=e10cab10e9c9b817d8ae06a5c6a9da27b6c8fac7;hp=8d6c498ec710cf1a38a0f7552d81930b8d8beef0;hb=44ab15ff671fae26af2b5c8a5db8bcded677ef74;hpb=bd0c684c9941c24ee4191f4550ec966d5b1fa8ab diff --git a/ui/twin/pbt-scr.c b/ui/twin/pbt-scr.c index 8d6c498..e10cab1 100644 --- a/ui/twin/pbt-scr.c +++ b/ui/twin/pbt-scr.c @@ -15,8 +15,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#if defined(HAVE_CONFIG_H) #include "config.h" -#define _GNU_SOURCE +#endif + #include #include @@ -180,7 +182,7 @@ twin_pixmap_t *pbt_background_load(twin_screen_t *tscreen, const char *pbt_icon_chooser(const char *hint) { if (strstr(hint, "net")) - return PB_ARTWORK_PATH "/network.png"; + return PB_ARTWORK_PATH "/network-wired.png"; return NULL; } @@ -361,14 +363,16 @@ static int pbt_twin_waiter_cb(struct pbt_twin_ctx *twin_ctx) static void pbt_scr_destructor(struct pbt_scr *scr) { - pb_log("%s\n", __func__); + pb_debug("%s\n", __func__); twin_x11_destroy(scr->twin_ctx.x11); // FIXME: need cursor cleanup??? memset(scr, 0, sizeof(*scr)); } -struct pbt_scr *pbt_scr_init(void *talloc_ctx, enum pbt_twin_backend backend, +struct pbt_scr *pbt_scr_init(void *talloc_ctx, + struct waitset *waitset, + enum pbt_twin_backend backend, unsigned int width, unsigned int height, const char *filename_background, twin_bool_t (*scr_event_cb)(twin_screen_t *tscreen, @@ -378,8 +382,6 @@ struct pbt_scr *pbt_scr_init(void *talloc_ctx, enum pbt_twin_backend backend, int waiter_fd = -1; assert(backend && backend < 3); - assert(width > 100); - assert(height > 100); if (!scr) { pb_log("%s: alloc pbt_scr failed.\n", __func__); @@ -394,11 +396,14 @@ struct pbt_scr *pbt_scr_init(void *talloc_ctx, enum pbt_twin_backend backend, if (backend == pbt_twin_x11) { pb_log("%s: using twin x11 backend.\n", __func__); + assert(width > 100); + assert(height > 100); + #if !defined(HAVE_LIBTWIN_TWIN_X11_H) assert(0); #else - scr->twin_ctx.x11 = twin_x11_create_ext(XOpenDisplay(0), width, - height, 0); + scr->twin_ctx.x11 = twin_x11_create_ext(XOpenDisplay(NULL), + width, height, 0); if (!scr->twin_ctx.x11) { pb_log("%s: twin_x11_create_ext failed.\n", __func__); @@ -406,7 +411,7 @@ struct pbt_scr *pbt_scr_init(void *talloc_ctx, enum pbt_twin_backend backend, goto fail_ctx_create; } - pb_log("%s: x11: %p\n", __func__, scr->twin_ctx.x11); + pb_debug("%s: x11: %p\n", __func__, scr->twin_ctx.x11); assert(scr->twin_ctx.x11->screen); scr->tscreen = scr->twin_ctx.x11->screen; @@ -440,8 +445,8 @@ struct pbt_scr *pbt_scr_init(void *talloc_ctx, enum pbt_twin_backend backend, assert(waiter_fd != -1); - waiter_register(waiter_fd, WAIT_IN, (void *)pbt_twin_waiter_cb, - &scr->twin_ctx); + waiter_register_io(waitset, waiter_fd, WAIT_IN, + (void *)pbt_twin_waiter_cb, &scr->twin_ctx); return scr;