Skip to content

C++ Mode v0.4.7

Choose a tag to compare

@pepc84 pepc84 released this 14 Aug 00:18
· 14 commits to main since this release

CppMode 0.4.7

Windows crash fixes

  • Fixed Sketch exited with code -1073741819 (access violation) — root cause was MinGW 14.2 iostream initialization bug when no console is attached. Fixed with sync_with_stdio(false) before first iostream use in PApplet::run()
  • Replaced bundled GLFW and GLEW DLLs with official x64 SEH builds (GLFW 3.4, GLEW 2.3.1) — previous DLLs were compiled with 32-bit DWARF exception handling which is incompatible with 64-bit WinLibs
  • Removed gcc runtime DLLs from bundle (libstdc++-6.dll, libgcc_s_seh-1.dll) — these must match the compiler exactly and are provided by WinLibs
  • Fixed undefined reference to nanosleep64 — excluded <thread> on Windows, all sleep calls now use Sleep()
  • Fixed duplicate glClear/glfwSwapBuffers in initialization sequence that crashed some AMD/Intel drivers
  • Fixed early glfwPollEvents in settle loop causing crashes on Windows — settle loop now skipped on Windows
  • Fixed _setupDone=true being set too early, causing setProjection OpenGL calls from winsize_cb before context was ready
  • Added glewExperimental=GL_TRUE before glewInit to load all function pointers correctly
  • Requested OpenGL 3.3 compatibility profile explicitly for better driver compatibility
  • Removed legacy glShadeModel and glNormalize calls that can crash on some drivers
  • Added WinLibs bin and sketch folder to PATH when launching sketch so runtime DLLs are found

Build system

  • create-release.py now automatically triggers a fresh CI cache build and waits for it before packaging
  • create-release.py always names the output CppMode.zip regardless of version argument
  • Windows CI cache now compiles against GLEW 2.3.1 headers to match bundled DLL version
  • Windows CI cache now excludes <thread> to avoid nanosleep64 linker errors

Bug fixes

  • Fixed ErrorFormatter.java brace mismatch causing Java compile errors on some systems