diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 1b608c1..14e685c 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -920,6 +920,7 @@ wl_display_open(const char *name) wl_state.pointer_x = 960; wl_state.pointer_y = 540; + fprintf(stderr, "TRACE: wl_display_open done, returning NULL\n"); wwarning("wl_backend: virtual pointer initialised at %d,%d", wl_state.pointer_x, wl_state.pointer_y); @@ -1838,6 +1839,7 @@ void wl_screen_alloc_gcs(WScreen *scr) { (void)scr; } void wl_screen_create_internals(WScreen *scr) { + fprintf(stderr, "TRACE: wl_screen_create_internals\n"); wl_state.scr = scr; { FILE *fp = fopen("/tmp/wl_backend_trace.log", "a"); diff --git a/src/backend/wayland/wl_screen.c b/src/backend/wayland/wl_screen.c index 40f081b..26e1156 100644 --- a/src/backend/wayland/wl_screen.c +++ b/src/backend/wayland/wl_screen.c @@ -16,6 +16,7 @@ void wl_screen_open(WScreen *scr) { + fprintf(stderr, "TRACE: wl_screen_open\n"); /* Set geometry from the headless output created in display_open(). */ scr->scr_width = wl_state.output ? (int)wl_state.output->width : 1920; @@ -45,6 +46,7 @@ void wl_screen_close(WScreen *scr) { (void)scr; } int wl_screen_init_display(WScreen *scr, int screen_number) { + fprintf(stderr, "TRACE: wl_screen_init_display\n"); (void)screen_number; scr->w_depth = 32; scr->rcontext = RCreateContextWayland(scr->scr_width, scr->scr_height, NULL); @@ -68,7 +70,7 @@ wl_screen_init_display(WScreen *scr, int screen_number) scr->white_pixel = scr->white ? WMColorPixel(scr->white) : 0xFFFFFFFF; scr->light_pixel = scr->gray ? WMColorPixel(scr->gray) : 0xFFAAAAAA; scr->dark_pixel = scr->darkGray ? WMColorPixel(scr->darkGray) : 0xFF555555; - + fprintf(stderr, "TRACE: wl_screen_init_display done\n"); return 1; } diff --git a/src/backend/wayland/wl_stubs.c b/src/backend/wayland/wl_stubs.c index 70a12d2..bb6b2a4 100644 --- a/src/backend/wayland/wl_stubs.c +++ b/src/backend/wayland/wl_stubs.c @@ -60,6 +60,7 @@ unsigned long wl_xdisplay_intern_atom(const char *n) { (void)n; return 0; } Display *wl_get_x_display(void) { return NULL; } RImage *wl_xwayland_capture_snapshot(WScreen *s, struct wlr_xwayland_surface *xw) { (void)s; (void)xw; return NULL; } float wl_xwayland_get_window_opacity(WNativeWindow cw) { (void)cw; return 1.0f; } +void wl_register_error_handlers(void) {} RContext *wl_create_rcontext(int screen_number, RContextAttributes *attribs) { (void)screen_number; return RCreateContextWayland(1920, 1080, attribs); } #if USE_XWAYLAND @@ -412,8 +413,8 @@ const WMBackend wl_backend = { .cursors_init = wl_cursors_init, .cursor_create_named = wl_cursor_create_named, .shape_combine_mask = wl_shape_combine_mask, +.register_error_handlers = wl_register_error_handlers, #if USE_XWAYLAND - .register_error_handlers = wl_register_error_handlers, .texture_create_gc = wl_texture_create_gc, .texture_free_gc = wl_texture_free_gc, #endif diff --git a/src/main.c b/src/main.c index 64665ea..081c20d 100644 --- a/src/main.c +++ b/src/main.c @@ -788,9 +788,13 @@ static int real_main(int argc, char **argv) } /* open display */ + fprintf(stderr, "TRACE: before display_open\n"); dpy = (Display *)wm_backend->display_open(DisplayName); + fprintf(stderr, "TRACE: after display_open, dpy=%p\n", dpy); wm_backend->display_post_open(DisplayName, &multiHead); + fprintf(stderr, "TRACE: before StartUp\n"); StartUp(!multiHead); + fprintf(stderr, "TRACE: after StartUp\n"); if (w_global.screen_count == 1) multiHead = False; diff --git a/src/startup.c b/src/startup.c index 57a4b12..a70cc66 100644 --- a/src/startup.c +++ b/src/startup.c @@ -278,14 +278,16 @@ void StartUp(Bool defaultScreenOnly) memset(&wKeyBindings, 0, sizeof(wKeyBindings)); + fprintf(stderr, "TRACE: StartUp before context_init\n"); wm_backend->context_init(); - + fprintf(stderr, "TRACE: StartUp after context_init, before atoms\n"); { int ai; for (ai = 0; ai < (int)wlengthof(atomNames); ai++) atom[ai] = (WMNativeAtom)wm_backend->atom_intern(atomNames[ai]); } - + fprintf(stderr, "TRACE: StartUp after atoms\n"); + fprintf(stderr, "TRACE: StartUp xdnd_init\n"); w_global.atom.wm.state = atom[0]; w_global.atom.wm.change_state = atom[1]; w_global.atom.wm.protocols = atom[2]; @@ -313,10 +315,14 @@ void StartUp(Bool defaultScreenOnly) w_global.atom.wm.ignore_focus_events = atom[21]; +fprintf(stderr, "TRACE: StartUp before xdnd_init\n"); wm_backend->xdnd_init(); + fprintf(stderr, "TRACE: StartUp after xdnd_init\n"); + fprintf(stderr, "TRACE: StartUp before cursors_init\n"); /* cursors */ wm_backend->cursors_init(); + fprintf(stderr, "TRACE: StartUp after cursors_init\n"); /* emergency exit... */ sig_action.sa_handler = handleSig;