Skip to content

Merging changes for the v.6.5.1.202602 release#165

Merged
fdesbiens merged 14 commits into
masterfrom
dev
Jun 8, 2026
Merged

Merging changes for the v.6.5.1.202602 release#165
fdesbiens merged 14 commits into
masterfrom
dev

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

No description provided.

fdesbiens and others added 14 commits May 28, 2026 08:18
Moved GUIX Studio Windows builds to VS2022 and dropped VS2019 files.

Added PerMonitorV2 DPI awareness and scaled MFC panes, dialogs, and toolbar assets.

Updated branding to Eclipse ThreadX and cleaned VS2022 build warnings.

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
Modernised GUIX Studio Windows support

- Moved GUIX Studio Windows builds to VS2022 and dropped VS2019 files.
- Added PerMonitorV2 DPI awareness and scaled MFC panes, dialogues, and toolbar assets.
- Updated branding to Eclipse ThreadX and cleaned VS2022 build warnings.

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
Added MIT license headers to owned GUIX and GUIX Studio source, script, and project files.

Skipped third-party libraries, fonts/resources, IAR files, copied FileX/ThreadX support headers, and GXP project data.

Added Codex attribution notes to in-scope files from the high-DPI work.

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
Added missing copyright headers
* Updated GUIX version to 6.5.1.202602

Updated GUIX release constants in gx_api.h.

Updated port version ID strings to 6.5.1.202602.

Replaced the legacy GUIX Studio port version ID with the Microsoft/Eclipse format.


* Updated Eclipse ThreadX copyright wording

Updated GUIX copyright headers and version ID strings from 2026-present to 2026.

Kept Eclipse ThreadX contributors with lowercase contributors.

---------

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
Added release version helpers, local runtime packaging, signing helpers, and installer verification scripts.

Kept release signing and installer production as a local-only process.

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
…) overflows (#158)

@fdesbiens
Fixed stack corruption when _gx_canvas_drawing_initiate() overflows

 All callers of _gx_canvas_drawing_initiate() must check the return
 value before calling draw functions or _gx_canvas_drawing_complete().
 When GX_DRAW_NESTING_EXCEEDED is returned, the context stack is not
 pushed — calling _gx_canvas_drawing_complete() unconditionally corrupts
 the outer context's nesting counter and draw context pointer.

 Fix pattern (matching the reference implementation in
 _gx_widget_children_draw.c):

   status = _gx_canvas_drawing_initiate(...);
   if (status == GX_SUCCESS) { draw(); _gx_canvas_drawing_complete(); }
   else if (status == GX_NO_VIEWS) { _gx_canvas_drawing_complete(); }
   // else: GX_DRAW_NESTING_EXCEEDED — context was NOT pushed, do nothing

 Applied to 9 callers: gx_animation_start,
 gx_animation_drag_tracking_start, gx_multi_line_text_view_text_draw,
 gx_multi_line_text_input_draw, gx_rich_text_view_text_draw,
 gx_single_line_text_input_draw,
 gx_radial_progress_bar_background_draw, gx_widget_block_move, and
 gx_system_canvas_refresh.

 A regression test covers overflow detection, state preservation, caller
 behavior (_gx_widget_block_move at max depth), full unwind, and
 recovery.

 Closes #148.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…dth (#159)

In _gx_multi_line_text_view_display_info_get() the overflow condition
had a guard (ch.gx_string_ptr[0] != ' ') that prevented the overflow
branch from executing when an ASCII space caused overflow.  The space
was instead added to gx_text_display_width, making it exceed
available_width — the bug reported in issue #130.

Remove the guard and handle the space case explicitly: consume the
overflowing space plus any immediately-following consecutive spaces in
gx_text_display_number without adding to gx_text_display_width, then
break.  The trailing-spaces loop ensures that multiple spaces at the
overflow boundary are all consumed so the next line starts at the next
word (matching the behaviour of the old checkpoint-save path).

UTF-8 safety: ASCII 0x20 comparisons in the while loop are byte-safe
because UTF-8 continuation bytes are always >= 0x80.

Files changed:
- gx_multi_line_text_view_display_info_get.c

Regression test added:
1. Space at overflow: gx_text_display_width <= available_width.
2. Space at overflow: gx_text_display_number includes the trailing
   space (next line does not start with a space).
3. Multiple consecutive spaces at overflow: all trailing spaces are
   consumed in gx_text_display_number.
4. Normal word overflow (non-space char): backtrack to last word
   boundary still works correctly (no regression).

Closes #130

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- fixed deviation in coding style (gx_system_canvas_refresh.c vs others).
- fixed MISRA rule "All if … else if constructs shall be terminated with an else statement" in two cases.
Measured String Table Editor command button labels with the active dialog font so the buttons grow for high-DPI text scaling.

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
Started GUIX Studio maximized by default and preserved the restored window rectangle separately from the maximized show state.

Co-authored-by: Codex (OpenAI GPT-5.5) <codex@openai.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@fdesbiens fdesbiens merged commit 89ffb8a into master Jun 8, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants