Files
leocad/common
Leonardo Zide a152d3442c Restore caller GL state after output rendering
Step-image and parts-list helpers switched to the shared offscreen context
and left it current after rendering. Framebuffer release and destruction
also replaced a caller's existing binding with the default framebuffer.
This violated the output helpers' state-restoration contract on both
success and failure.

Capture the caller's context, surface, and framebuffer bindings in a scope
guard before asset waits and rendering. Restore them after the temporary
view is destroyed, preserving separate draw/read bindings where supported
and leaving no context current when the caller started without one.

Validation: full debug build and whitespace checks passed. A temporary
OpenGL regression harness verified step-image and parts-list success and
framebuffer creation failure with an alternate caller context, an alternate
surface on the shared context, nondefault framebuffer bindings, and no
initially current context.
2026-10-05 14:01:41 -07:00
..
2026-10-05 13:55:22 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-09-19 10:01:40 -07:00
…
2026-03-10 21:11:40 -07:00
2026-04-29 20:59:17 -07:00
2026-04-29 20:59:17 -07:00
2026-09-30 10:03:54 +02:00
2026-09-12 15:54:44 -07:00
2026-09-12 15:54:44 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-09-30 10:03:54 +02:00
2025-11-19 23:10:18 -08:00
2025-11-23 22:52:28 -08:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-04-29 20:59:17 -07:00
2026-05-02 15:08:13 -07:00
2026-05-02 15:08:13 -07:00
…
2026-05-02 15:51:08 -07:00
2026-09-12 15:54:44 -07:00
2026-05-02 15:51:08 -07:00
2026-03-10 21:11:40 -07:00
2026-09-21 22:34:18 -07:00
2026-03-10 21:11:40 -07:00
2026-09-12 15:54:44 -07:00
2026-03-10 21:11:40 -07:00
2026-04-29 20:59:17 -07:00
2026-09-12 15:54:44 -07:00
2026-05-02 16:06:27 -07:00
2026-05-02 16:06:27 -07:00
2026-05-02 16:06:27 -07:00
2026-09-12 15:54:44 -07:00
2026-03-10 21:11:40 -07:00
2025-07-05 12:00:52 -07:00
2026-03-10 21:11:40 -07:00
2025-12-15 11:19:23 -03:00
2025-11-23 22:52:28 -08:00
2025-07-19 12:01:12 -07:00
2025-07-19 12:01:12 -07:00
2026-04-29 20:59:17 -07:00
2026-03-30 22:50:17 -07:00
2026-09-18 18:23:32 -07:00
2024-05-13 19:59:37 -07:00
2024-05-13 19:59:37 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 21:11:40 -07:00
2026-03-10 19:55:49 -07:00
2026-03-10 21:11:40 -07:00
2026-09-19 10:01:40 -07:00