Commit Graph

3 Commits

Author SHA1 Message Date
Window Maker eaea7464b2 arch: drop USE_DOCK_XDND guards from shared src/
The XDND-on-dock feature was a configure-time toggle (--disable-xdnd)
gating ~25 #ifdef sites across shared src/.  This was a pre-Wayland
feature flag, not a backend distinction, but it polluted the policy
layer with build-time conditionals.

Make it unconditional:

  configure.ac    Remove --disable-xdnd and AM_CONDITIONAL.  XDND on
                  the dock is always built.
  src/Makefile.am Move xdnd.c from the if-USE_DOCK_XDND block into
                  the unconditional wmaker_SOURCES list.
  src/dock.h, dock.c, dockedapp.c, appicon.h, appicon.c, event.c,
  misc.c, startup.c, dialog.c, screen.h
                  Strip all #ifdef USE_DOCK_XDND/#endif pairs.  In
                  dockedapp.c the #else branch (rendering an 'XDnD
                  support was not compiled in' label) is dead and
                  removed.

Backend routing: the X11 backend continues to drive the XDND protocol
through xdnd.c via the existing xdnd_process_client_message /
xdnd_process_selection / xdnd_make_awareness vtable slots.  Wayland's
slots are no-ops (XWayland clients drop into the X11 path naturally
via wl_state.x_display).

src/ is now free of feature-flag guards related to DnD.
2026-05-24 08:55:43 +02:00
ollie 6628d74d38 Wave 1 complete: XEvent* → WMEvent* signature changes + crash fixes
All 8 signature change tasks done:
  A5.1  wSwitchPanelHandleEvent: XEvent* → WMEvent*
  A5.2  Remove XEvent synthesis in cycling.c
  B.3   wDockReceiveDNDDrop: XEvent* → WMEvent*
  E.3   wRootMenuPerformShortcut: XEvent* → WMEvent*
  E.4   wClientConfigure/wClientCheckProperty: X11 types → WMEvent*
  R.1   framewin.c: _x11_raw → WMEvent
  R.2   icon.c: _x11_raw → WMEvent
  R.3   menu.c: _x11_raw → WMEvent

Results:
- _x11_raw sites in src/: 16 → 9 (7 eliminated in policy code)
- Build verified clean
- Crash regression (use-after-free on dialog close) fixed:
  W_IsValidView() validates stale _view_target against view_table
  Scene graph nodes destroyed when WINGs toplevels close

Update ACTION_PLAN.md and WAYLAND_ROADMAP.md to mark Wave 1 complete.
2026-05-17 19:43:58 +02:00
Levi Neely fcee811b99 WindowMaker 0.96.0 upstream source 2026-03-26 15:38:49 +01:00