Catastrophic WIMP bug
Pages: 1 2
Steffen Huber (91) 1953 posts |
However, we don’t know whether a “Rewritten in C” WIMP will really be less efficient (efficient in what sense, one might wonder? CPU cycles? Memory consumption? Time needed for maintenance? Time needed for adding features?) than what we have now unless someone writes it and we can compare :-) |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
This is not the time (it was probably 1995) but I would very much like to split WindowManager into three, putting the task management and messaging into TaskManager, the GUI management in a leaner WindowManager and the GUI rendering in a new module. WindowManager would retain the existing API for compatibility. |
|||||||||||||||||||||||||||||||||||||||||||||
Rick Murray (539) 13840 posts |
Aha. Because CMP doesn’t actually compare. It’s a SUBS that throws away the result.
That makes sense. We ought to start, I guess, by rearranging the existing code so the modules reflect what’s going on. The original code is Wimp-then-a-number with all sorts of junk in each. There’s a vague theme, but as you’ll see it’s more a “serving suggestion” than “window stuff here, menu creation here, icons here”. As for actually splitting it up as you suggest, it would be quite interesting to have the GUI and the rendering separated – this might make it easier to implement such things as skinning or remote desktops? Another one to add to your huge todo list. ;-) |
|||||||||||||||||||||||||||||||||||||||||||||
Steve Pampling (1551) 8170 posts |
Oh joy. Following the code of simple things like a keypress to bring up the help1 on a selected item is an excursion around numbered files already.
kick shin one direction (NW), cuff ear2 in other (SE). 1 F1 – matches lots of things |
|||||||||||||||||||||||||||||||||||||||||||||
Rick Murray (539) 13840 posts |
No thank you. At the age of 44, having cycled up the lane and back a billion times, yesterday I pulled on the brakes as usual and next thing I knew I was on the ground having landed heavy on my wrist around the thumb. I now have three weeks off work and a sort of not-cast of black velcro stuff. Not entirely pleasurable. So no, leave this gormless twat alone… |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
You are (comparatively) lucky. I have a friend who, from a standing start, managed to slip and land on his wrist, resulting in such a bad fracture that he needed two 4" titanium rods screwed into his bones. At least you were moving at the time. |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
Further to the bug: It was introduced in RO3.80, WindowManager 3.99. Unfortunately the The routine has always been bugged – it’s in the 26b versions too. This requires a patch for all versions… I’ll knock one up. |
|||||||||||||||||||||||||||||||||||||||||||||
Rick Murray (539) 13840 posts |
Oh, that sounds horrendous. Was it on ice?
There seems to be an accumulation of gravel at the end of the driveway. I am guessing I slipped in that (and judging by my other hand, landed in it). The thing is, I applied the brakes and then I was sideways on the ground vaguely aware of the bike landing on me. That bit in between… I don’t actually remember. But, then, I’m 75kg of gloopy rice and Mars bars so I guess gravity did its bit pretty quickly. :-)
I guessed that would be the case, CMP hasn’t changed its behaviour.
Nice, the in situ patching should help with the closed-source-never-to-be-touched-again Wimps. Good detective work, there, Holmes. :-) |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
I have patches for the following versions:
What other 5.xx have been released? 5.25 and 5.23? LazyWeb: Whence these? Once I have Patched All The Things I’ll release a |
|||||||||||||||||||||||||||||||||||||||||||||
Chris Mahoney (1684) 2165 posts |
5.24 is coming “real soon now” (tomorrow?) and apparently has WindowManager 5.61. [Edit: Confirmed] |
|||||||||||||||||||||||||||||||||||||||||||||
Jeffrey Lee (213) 6048 posts |
For the past few years the convention has been that even-numbered OS versions are stable builds, and so have a modicum of post-release support (e.g. updates & patches), while odd-numbered OS versions are development builds (no patching, just upgrade to a newer dev/stable build which has the bug fixed). Also, ROOL’s motto is that every (desktop) RISC OS 5 machine ever released can always be upgraded to the latest version of RISC OS 5, so there isn’t much of a reason to actively support RISC OS 5 releases which are older than the current stable release. Perhaps this also explains why they don’t offer old versions for download. If you want to see what module versions went into any particular stable release, you can look at the (non- “Dev”) products files in CVS. But since the products files don’t capture the DDE version I’m not sure how reliable it would be to use that info for producing patches.
Nope – it was never 32-bitted. The ROOL way of doing things would probably be to softload a newer Wimp during the boot sequence (which the boot sequence will already do, for 26 bit OS’s at least) |
|||||||||||||||||||||||||||||||||||||||||||||
Sprow (202) 1158 posts |
Once I have Patched All The Things I’ll release a Patch file – is !Patch still supported on RO5?Nope – it was never 32-bitted. It’s in $.Utilities.!Patch on my computer. Where you looking? |
|||||||||||||||||||||||||||||||||||||||||||||
Jeffrey Lee (213) 6048 posts |
At the wrong component in CVS! PatchApp != PatchesPatch. |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
5.61?Presumably not the 5.61 (23 Apr 2004) that shipped with RO4.39? No one is even trying to make version numbers make sense any more are they? For the record, WindowManager 6.61 (13 Nov 2009) is what shipped with RO6.20. Regardless of the game of ‘one potato two potato’ that led to the major version number arms race, can we all agree that releasing two different builds with the same version number renders |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
Patches: RO4 has the very nice ROMPatch module that it inherited from RO3.5 – that’s the ideal fix for all 26bit OSes, as I can supply a single ROMPATCH file that fixes all of them. In RO4 it’s in I suppose there is no ROMPatch for RO5? |
|||||||||||||||||||||||||||||||||||||||||||||
Steve Pampling (1551) 8170 posts |
Apparently the next increment after 5.60
Always going to be dificult to cope with and the RMEnsure problem has existed for years for many items that ROL took through an increment jump or five. Toolbox is fun too.
There’s so many comments we could all make on that1, lets just carry on and hope that we get to a set of numbers that are past the “six” quagmire people keep getting stuck in some time soon. 1 Since the comments all come down to an essay on “yah, boo, sucks” lets not bother. |
|||||||||||||||||||||||||||||||||||||||||||||
Gwyn (355) 46 posts |
There is a module PatchApp in !Boot.Utils together with two patches directories RO4Patches and RO6Patches |
|||||||||||||||||||||||||||||||||||||||||||||
Steve Pampling (1551) 8170 posts |
That’s the RO6 !Boot not the RO5.2x !Boot which is what Jeffrey and Spow were talking about. 1 “Six” is 4.39+potato as nemo reminded us. |
|||||||||||||||||||||||||||||||||||||||||||||
Rick Murray (539) 13840 posts |
That’s likely the only logical outcome of when two branches don’t talk to each other… Especially since one chooses to skip an entire version number (add one potato) to make a point that few people were really interested in, leaving a legacy of buggered up RMEnsure versioning. My preferred version of testing for recent(ish) things is to look first to see if it’s a HAL kernel. If so, test for versions and stuff. If not, tough titty… |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
My point is that it is possible to cope, in isolation, with 5.62 being a more recent version of 5.60 while 5.61 is an entirely different branch. (It’s not good, but it can be done). Whereas, if we have two completely different builds that both happen to claim to be 5.61, then even combining WindowManager is mostly stand-alone and I CAN’T BELIEVE I’M HAVING TO EVEN SAY ANY OF THIS. It’s not like somebody is charging for version numbers. Just don’t use one that’s already been used. I know they’ve put a climate change denier in charge of Nasa but this really isn’t rocket science EITHER. |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
Gwyn was kind enough to check:
Right. I’d expect there to be a ROMPatch module inside RO4Patches, is there one in RO6Patches as well? Or is the ROMPatch module somewhere else now? |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
Rick mused
The RMEnsure ‘problem’ did not start with RO6, it has been going wrong since last century. For example, here is the version history of the !Help module:
I am not picking sides when I say that nobody should release different things with the same version number. Randomise the order if you must, but no doppelgängers! |
|||||||||||||||||||||||||||||||||||||||||||||
Gwyn (355) 46 posts |
ROMPatch module is in RO4Patches directory and not in RO6Patches directory. I have not checked to see if it is elswhere |
|||||||||||||||||||||||||||||||||||||||||||||
nemo (145) 2546 posts |
OK thanks, it’s where it has always been. Fingers crossed it works on RO6 too. |
Pages: 1 2