Repository navigation
v1.17.7
iwo Helper Desktop v1.17.7
Fixed
- The MIT licence text was damaged. One line of the permission grant read “to permit
persons a side the Software is furnished to do so” instead of “to permit persons to
whom the Software is furnished to do so”, in both the repository licence and the copy
shown by the installer. GitHub could not recognise the file as MIT because of it. The
canonical wording is restored in both files, verbatim. - Closing a PDF window could hang for two seconds and leak memory. The thumbnail
renderer is asked to stop through a signal, and the render thread could clear that signal
in the same instant it arrived — after which it waited forever. The window then sat out
its two-second timeout on close, and the renderer, which holds a full in-memory copy of
every PDF it has open, was never released for the rest of the session. - A window busy reading a PDF lost its work when the language changed. Only a running
operation counted as “busy”, so switching language while a large or network PDF was still
being read closed the window mid-read. The freshly opened one came up empty, with nothing
said about the file that had been loading. - The Excel Digest window broke when dragged to its smallest size. “Uncheck all” ended
up below the bottom edge of the window and “Check all” disappeared underneath “Retry
skipped” — and that broken size was then remembered between runs. The minimum height is
now derived from the actual layout instead of a constant that had drifted away from it. - Every tool window opened with the focus on “Home”, so pressing Enter right after
opening one returned to the start screen without doing anything. The header really is last
in the tab order now, and the focus lands on the first useful control. - The window header was clipped from 125% display scaling upwards. Title and subtitle
were drawn into fixed-height boxes while their fonts grow with the scale, slicing off the
bottom of the letters. Both rows are measured from the fonts now. - Merging with compression looked frozen. The bar reached 100%, Cancel disappeared, and
the window then sat still for the whole compression run. Compression now names itself in
the status line and shows a moving bar, since its progress cannot be measured. - Long messages ran off the edge of the Excel Digest window, cut mid-word with no
ellipsis. Both lines now shorten with “…” and show the full text on hover, as the PDF
tools already did. - A list item numbered with a non-ASCII digit silently lost its number when written to
Word. - Enter did nothing in PDF Split while it started the action in the other two PDF tools,
and “Combine into one file” stayed clickable during a split. - Checking for updates gave no sign of life: the button stayed lit through a request
that can take ten seconds, and repeated clicks stacked up identical error dialogs. - “About” and the page-number prompts showed a generic window icon, unlike every other
dialog. - The language globe on the start screen could not be reached from the keyboard, and would
have been invisible on Windows 8.1, whose icon font does not have it — it now falls back to
the flag of the current language and answers Enter and Space.
Changed
- Window position memory is wired in one place. Windows used to restore and save their
bounds through a pair of overrides each, which is easy to half-remove without noticing.
They now attach it with a single call, and a test opens each of those windows for real to
prove the memory still works — a silent loss of it would otherwise go unnoticed. - The shared parts really are shared now. The dialog frame, the rounded-rectangle
outline, “select all rows”, the PDF file picker and the “operation finished” epilogue each
lived in three or four copies that had begun to drift apart — one was missing the window
icon, another the guard against a degenerate corner radius. - The taskbar progress object is released deterministically, like every other COM object in
the app, and process handles are closed at the six places that open a file or a folder.
Testing
- Windows are opened for real and squeezed to their minimum size, with every control checked
for staying inside the window and no two buttons overlapping; the tab order of each tool
window is checked the same way. Both layout defects above were caught by these checks
before they were fixed. - Twelve new checks cover logic that had none: the median behind every PDF layout threshold,
the X-Y cut tree the header tables are built from, the missing-key fallback of the string
catalog, the compression labels, cancellation, the screen chosen when restoring a window,
the UI-thread delivery guard, and the rule that keeps a chosen language from being
overwritten by a stale window. - Two checks that could never fail were repaired: one compared two nulls, the other kept its
only assertion inside a loop that an empty result skipped entirely. - The runner refuses to pass if the number of checks drops, so a deleted one cannot slip by.
- Continuous integration installs Ghostscript before running the checks, so the
compression round-trip is actually exercised instead of silently skipped; it builds the
checks for the architecture under test (the 32-bit branches had never been run); and the
thumbnail check now reports “nothing was rendered” as a failure instead of success.
Files: iwoHelperDesktop-1.17.7.exe / iwoHelperDesktop-1.17.7-x86.exe - portable (single file, 64-bit / 32-bit); iwoHelperDesktop-setup-1.17.7.exe / iwoHelperDesktop-setup-1.17.7-x86.exe - installers with bundled Ghostscript (per-user install, no administrator rights). Take x64 unless your Windows is 32-bit.