Toolbox Labelled box
Richard Windley (1611) 55 posts |
Has anyone else noticed a problem with the labelled box Toolbox gadget on RISC OS 5? I have a window that when created greys out a load of gadgets of different types. I was testing on the Raspberry Pi and 95% of the time this window crashed the application. I seemed to have tracked it down to the labelled boxes on it being greyed out. If I stop greying these out but leave everything else alone it no longer crashes. My initial thought was my code, but it seemed to reliably crash inside the (very simple) redraw loop but not in my code. Just wondered if anyone else had suffered a similar problem? |
Ben Avison (25) 445 posts |
I think I may have had something similar happen when I was writing CloneDisc recently (which uses the Toolbox), but then it stopped happening again before I got round to investigating what the problem was. So I don’t think you’re alone. If you’ve got a copy of the DebugTools module, it would be interesting to know whether the address of the abort (assuming it is an abort, I think it was in my case) is inside one of the Toolbox modules, as that would tend to confirm that it’s probably not your fault. |
Richard Windley (1611) 55 posts |
Hmmm. Not sure this excludes my code from the equation as the actual cause. It says: Address &FC169158 is at offset &000010F0 in module SharedCLibrary |
Rik Griffin (98) 264 posts |
Can you reproduce the problem by creating a resource file and loading it into ResTest? Or does the crash only occur when (presumably) gadget_set_flags() is called for a label gadget? Are you calling the C veneer to the method or calling Toolbox_MiscOp 65 directly? Presumably your application is written in C? I’m hoping to have some time to look at the Toolbox soon so I can investigate this one. The Toolbox is written in C so the address being inside the Shared C Lib module doesn’t prove anything, I think. |
Richard Windley (1611) 55 posts |
Sorry for the slow response. I couldn’t recreate it at first. However, I did then manage to create it via a simple AppBasic application, then in ResEd (which seemed a bit odd and now it won’t do it) but never in ResTest. And the error changed: Address &FC02C2F4 is at offset &0000D3D8 in module UtilityModule I have the AppBasic app if anybody wants it. In answer to your questions: yes, it’s C via OSLib. In the recreation it crashes without calling anything, just having the label already greyed out and scrolling the window does it. |