Menu

#618 GTK3V2MAIN: mswlib does not compile with modern MSVC — Win32 backend needs porting

Next Release
closed
nobody
None
V5.3.1GA
Windows
5
2026-06-07
2026-05-07
No

The mswlib Win32 backend in GTK3V2MAIN fails to compile against modern
MSVC (VS 2022, Windows SDK 10). Errors span the entire library:

  1. undefined struct/union 'control' in mswbox.c, mswbutt.c, mswbitmap.c,
    mswchoic.c, and many others — the internal control struct definition
    is not visible. mswint.h likely needs to be added to the include path
    in app/wlib/mswlib/CMakeLists.txt.

  2. Signature mismatches between mswlib implementations and wlib.h
    declarations (e.g. wButtonCreate redefined with different types) —
    the GTK3V2MAIN wlib.h public API evolved past what mswlib implements.
    All mismatched functions need to be audited and updated.

  3. BC_HORZ undeclared identifier (mswchoic.c) — old Windows API constant
    removed from modern Windows SDK. Needs replacement or #define guard.

  4. mswbitmap.c:335 syntax error — likely a BOOL or PIXELFORMATDESCRIPTOR
    type collision with the modern SDK.

Windows CI is currently skipped in ci-gtk3.yml (bug #618) until this is
resolved.

Approach:
Phase 1 — Fix include path so mswint.h is found (may resolve cascade errors)
Phase 2 — Audit wlib.h vs mswlib signature mismatches, update implementations
Phase 3 — Fix individual SDK incompatibilities (BC_HORZ, bitmap syntax)
Phase 4 — Re-enable Windows in ci-gtk3.yml and pass CI

Branch: bug-618-mswlib-msvc-porting

Discussion

  • Martin Fischer

    Martin Fischer - 2026-05-10

    Duplicate see bug #612

     
  • Martin Fischer

    Martin Fischer - 2026-05-22
    • Description has changed:

    Diff:

    
    
    • status: --> closed
    • XTrackCAD Version: --> V5.3.1GA
    • OS Level: -->
    • Operating System: --> Windows
    • Priority: --> 5
    • Milestone: --> Next Release
     
  • Martin Fischer

    Martin Fischer - 2026-05-22

    Closed after CI was changed to use MSYS-mingw GTK3 packages

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB