]> git.ozlabs.org Git - petitboot/blobdiff - ui/twin/pbt-scr.c
ui/ncurses: Always provide a key definition for backtab
[petitboot] / ui / twin / pbt-scr.c
index 3d10b9590a8c6e783fb603722f53d2781c39d864..b774f194693932572f7d1e23db9ebc7cb306f05e 100644 (file)
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#if defined(HAVE_CONFIG_H)
 #include "config.h"
 #include "config.h"
-#define _GNU_SOURCE
+#endif
+
 #include <assert.h>
 
 #include <string.h>
 #include <assert.h>
 
 #include <string.h>
@@ -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)
 {
 
 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));
 }
 
 
        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,
        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);
        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__);
 
        if (!scr) {
                pb_log("%s: alloc pbt_scr failed.\n", __func__);
@@ -394,6 +396,9 @@ 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__);
 
        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
 #if !defined(HAVE_LIBTWIN_TWIN_X11_H)
                assert(0);
 #else
@@ -406,7 +411,7 @@ struct pbt_scr *pbt_scr_init(void *talloc_ctx, enum pbt_twin_backend backend,
                        goto fail_ctx_create;
                }
 
                        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;
 
                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);
 
 
        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;
 
 
        return scr;