Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 3 posts ]
Author Message
 Post subject: So, what's next after v26.6 ?
PostPosted: Sun Jun 28, 2026 10:04 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 13157
Adding a complete and detailed User Guide for all Winstep applications in v26.6 was actually something I wasn’t initially expecting to happen. But it did, and it’s another item crossed off the to‑do list.

So, what’s left? As before:

    1. The Theme Builder
    2. Revamp the Winstep Gallery and open it to the public
    3. More multi‑session modules (desktop clock, weather, battery, network monitor)

The v26.6 release also almost went without a glitch. Almost.

Because of what happened to a single user, at the last minute I decided to make sure dock and shelf contents would not be lost in case of a power loss while the Winstep application was busy saving changed data.

Previously, the registry keys holding stale shelf and dock data were deleted first, and then fresh data was written. The problem is that saving hundreds or even thousands of registry entries takes time. If the power goes out in the middle of that process, the data ends up missing or corrupted. That’s exactly what happened to that one user.

To prevent this, data is now written to a temporary registry key first. Only after all data has been successfully written is the permanent key deleted and the temporary key renamed to take its place. It’s still technically possible to lose data if the power goes out in the milliseconds between deleting the old key and renaming the new one, but even in that almost impossible scenario, the temporary key still exists with all your data.

I tested this here and it worked. The two code paths that wrote to the permanent key used a flag to know when to write to the temporary key instead.

What I didn’t notice was that there was a third routine also writing to the permanent key, and it was only concerned with saving shelf theme data. Because I didn’t update that routine to respect the flag, it was always writing to the permanent key - which was then deleted when converting the temporary key to permanent. So that block of data was simply ignored.

I didn’t notice because I always use a global theme for everything (DarkTech), and the bug only becomes visible if a shelf uses an individual, non‑global theme. Even the tests I did in Windows 10 VMs didn’t reveal it, because applying a theme via the Themes tab applies it globally, so the bug stayed hidden.

Only when reports started coming in nearly 24 hours after the update did I realize something was wrong - and by then most users had already updated (update notifications are spread over a 24‑hour window).

I immediately knew what the problem was related to, found the missing routine, fixed it, and issued a new update notification (this only affected Nexus Ultimate and Winstep Xtreme users). Unfortunately, it’s the kind of annoying issue that even after installing the fixed version can only be corrected by re‑applying the shelf themes.

I truly hate when this happens, and it’s a lesson I should have learned long ago: do not change critical code right before a release. It also highlights that the vast majority of bugs don’t come from new code (because that’s usually tested thoroughly while you’re writing it), but from changes made to old code - you no longer have all the ramifications in your head, and since it was known good code, you assume the untouched parts will continue working flawlessly.

It is always more dangerous to modify old, existing code - and the older it is, the worse it gets - than it is to write new code.

Old code carries assumptions you no longer fully remember, hidden dependencies, and edge cases that were solved years ago and have faded from memory. Touching it often means waking up ghosts.

Another problem today is that very few users still browse forums, even ones that used to be extremely active, like Wincustomize. As a result, the number of people both willing and able to test beta builds before release has become very small. That reduces the chances of catching issues early and increases the risk that bugs only surface after a public release.

Because I’ve been making so many changes and additions lately - which is great, because it allowed me to introduce a ton of new functionality - it also means some parts of the code have become a little less stable. I fix issues as soon as they’re reported, and in the end, once everything settles, the trade‑off will have been more than worth it.

As Patrick Swayzee said in RoadHouse: "It will get worse before it gets better".

But some users simply have no patience (can't really blame them though).

I especially hate it when users uninstall the software and submit an uninstall survey with no return email address, which means I can’t contact them, and the description of the problem is so vague it’s completely useless. It’s as if they’re convinced I was already aware of the bug and simply didn’t care to fix it.

And then there are the issues caused by third‑party software - and increasingly even by Windows’ own security components.

One user thought Winstep Xtreme was crashing when, in reality, it was his GPU driver (I’d bet he was using an NVIDIA card!) that was failing while watching a video or ALT‑Tabbing from a game. The TDR reset hid the Xtreme UI for a few seconds, and he interpreted that as Xtreme crashing and restarting automatically.

He also assumed it was Xtreme because he had previously been using Nexus Ultimate, which ran perfectly for him - but shortly after upgrading to Xtreme he must have also updated his video card driver. So when the GPU driver started crashing, he connected the dots in the wrong direction: “Nexus Ultimate worked, Xtreme doesn’t, therefore Xtreme is the problem.”

And so it goes...

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
https://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v26.6 ?
PostPosted: Sun Jun 28, 2026 11:54 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 13157
The “insidious” All Programs Grid Stack bug explained

For you to understand how sneaky these issues can be, here’s another one I just fixed - and uploaded a new build for. This time it was a silent release, since it only affected new users (first‑run or factory‑reset scenarios).

Since version 26.4, the default dock in Nexus Ultimate and Winstep Xtreme includes an All Programs Grid Stack. This feature was added back in April.

When the application runs for the first time - or when the user restores factory defaults via the Troubleshooting Options dialog - Winstep creates an All Programs Grid Stack and adds a shortcut to it in the default dock.

The problem came from the routine I use to create new docks. It’s an old routine that takes parameters indicating whether the dock should include default applications (email, browser), be empty, or include a couple of specific entries. That last mode is used to create the temporary dock shown in the theme preview in the Themes tab of Preferences. In that context, the routine does not add the default applications.

When I added the code to include the All Programs shortcut in the default dock, I forgot that this routine is reused for the theme preview dock as well.

Here’s what happened:

    Opening the Themes tab caused the application to create a temporary preview dock.

    That preview dock was then deleted, as intended.

    When a dock is deleted, the deletion routine also removes any child Grid Stacks, sub‑docks, etc., so they don’t become orphans.

    Because of the way I coded the dock creation routine, the preview dock was adding a shortcut to the exact same All Programs Grid Stack used by the real default dock (cross linked reference).

    So when the preview dock was deleted, the All Programs Grid Stack was deleted too.

    The default dock was left with a shortcut pointing to a Grid Stack that no longer existed.

    Result: every time you opened the Themes tab, the All Programs shortcut in the default dock stopped working.

Why wasn’t this found until now despite being there since v26.4?

Because nobody reported on it.

Because it only happens under very specific conditions: the preview dock only adds the All Programs shortcut if a second shelf exists and is a Grid Stack of type All Programs - which basically never happens except on first run or after a factory reset. None of the users here, including me, have the default setup.

Because I usually test themes in new releases via the Themes tab in the default shelf, so I never noticed this issue either - until now, when I happened to open the Themes tab in Preferences while testing the fix for the Shelf theme saving bug and also happened to click the dock shortcut.

I fixed it by only adding the All Programs Grid Stack shortcut when the flag to add the default applications is set.

Another story that shows why most bugs happen when modifying existing code.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
https://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v26.6 ?
PostPosted: Mon Jun 29, 2026 6:27 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 13157
Seems like I need to add "Preferences redesign" to the to-do list.

Some users still complain a lot about the application looking "outdated". Since the application itself is skinnable, I can only assume they mean the UI.

Who cares about functionality and content density? Gives us waaaay too much excessive padding and spacing instead, and something that will look outdated when Windows 12 comes out anyway! :D

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
https://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 3 posts ]
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: GPT [Bot] and 244 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: