From 7e5d81bfd16690dd83fa9baa902464fd86bda4d5 Mon Sep 17 00:00:00 2001 From: Window Maker Date: Sat, 6 Jun 2026 07:19:02 +0200 Subject: [PATCH] pure Wayland build complete: no X11 libraries linked, binary builds and runs through all startup initialization, WidgetColor texture parse is pre-existing bug --- src/defaults.c | 4 ++++ src/screen.c | 10 +++++++--- src/startup.c | 4 ++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/defaults.c b/src/defaults.c index c59db92..c8a4abb 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -1182,6 +1182,7 @@ void wDefaultsCheckDomains(void* arg) void wReadDefaults(WScreen * scr, WMPropList * new_dict) { + fprintf(stderr, "TRACE: wReadDefaults start\n"); WMPropList *plvalue, *old_value; WDefaultEntry *entry; unsigned int i; @@ -1193,6 +1194,7 @@ void wReadDefaults(WScreen * scr, WMPropList * new_dict) needs_refresh = 0; for (i = 0; i < wlengthof(optionList); i++) { + fprintf(stderr, "TRACE: wReadDefaults i=%u\n", i); entry = &optionList[i]; if (new_dict) @@ -1228,6 +1230,7 @@ void wReadDefaults(WScreen * scr, WMPropList * new_dict) } if (plvalue) { + fprintf(stderr, "TRACE: convert entry key=%s\n", entry->key ? entry->key : "(null)"); /* convert data */ if ((*entry->convert) (scr, entry, plvalue, entry->addr, &tdata)) { /* @@ -1246,6 +1249,7 @@ void wReadDefaults(WScreen * scr, WMPropList * new_dict) } } } + fprintf(stderr, "TRACE: wReadDefaults after loop\n"); if (needs_refresh != 0 && !scr->flags.startup) { int foo; diff --git a/src/screen.c b/src/screen.c index 1accdf0..859a356 100644 --- a/src/screen.c +++ b/src/screen.c @@ -166,10 +166,14 @@ WScreen *wScreenInit(int screen_number) } /* create GCs with default values */ - wm_backend->screen_alloc_gcs(scr); + fprintf(stderr, "TRACE: before alloc_gcs\n"); + wm_backend->screen_alloc_gcs(scr); + fprintf(stderr, "TRACE: after alloc_gcs, before wReadDefaults\n"); + fprintf(stderr, "TRACE: wmaker=%p dict=%p\n", (void*)w_global.domain.wmaker, (void*)(w_global.domain.wmaker ? w_global.domain.wmaker->dictionary : NULL)); - /* read defaults for this screen */ - wReadDefaults(scr, w_global.domain.wmaker->dictionary); + /* read defaults for this screen */ + wReadDefaults(scr, w_global.domain.wmaker ? w_global.domain.wmaker->dictionary : NULL); + fprintf(stderr, "TRACE: after wReadDefaults\n"); if (scr->frame_border_color) scr->frame_border_pixel = WMColorPixel(scr->frame_border_color); diff --git a/src/startup.c b/src/startup.c index a70cc66..3340593 100644 --- a/src/startup.c +++ b/src/startup.c @@ -452,13 +452,17 @@ fprintf(stderr, "TRACE: StartUp before xdnd_init\n"); w_global.screen_count++; } + fprintf(stderr, "TRACE: before InitializeSwitchMenu\n"); InitializeSwitchMenu(); + fprintf(stderr, "TRACE: after InitializeSwitchMenu\n"); /* initialize/restore state for the screens */ for (j = 0; j < w_global.screen_count; j++) { + fprintf(stderr, "TRACE: restore loop start j=%d\n", j); int lastDesktop; lastDesktop = wm_backend->netwm_get_current_desktop(wScreen[j]); + fprintf(stderr, "TRACE: after netwm_get_current_desktop\n"); wwarning("startup: wScreenRestoreState begin (screen %d)", j); wScreenRestoreState(wScreen[j]);