No scroll requests from scroll wheel if no vertical scrollbar
Matthew Phillips (473) 721 posts |
Before I get started on the problem, I just want to say that I am referring to RISC OS 5 machines, and that I am not running !HID. I don’t know whether HID would make any difference. We have a window with extra flags byte +39 bit 1 set to use extended scroll requests. Window flags word +28 bit 8 is set to receive scroll requests with auto-repeat. If the window has a vertical scrollbar then rolling the scrollwheel on the mouse gives us Wimp poll code 10 (Scroll Request) and we can respond. If the window has no vertical scrollbar then we do not get any scroll requests if we are on RISC OS 5.23 (18-Feb-18) but do get scroll requests on RISC OS 5.16. We think that we were receiving scroll requests with no scrollbar not very long ago (perhaps on 5.22?) and that this behaviour has been changed. This is a bit of a nuisance, because applications may wish to respond to the scroll wheel even if there is no scroll bar. For example, over RiscOSM’s main window, rolling the scroll wheel allows you to zoom in or out and change the scale of the map. As it happens, the main RiscOSM window has scrollbars, but the photo thumbnail pane does not, and we were using the scroll wheel to allow users to move through the thumbnail display. (There are also nudge icons top and bottom for those who prefer to click.) We have got round the problem for the moment by adding a vertical scrollbar, but it’s taking up unnecessary screen space, looks ugly, and is always full-height because the pane isn’t actually a scrolling window: we just move the contents across it which is easy to do as it contains no icons (apart from the nudge buttons which do not want to move anyway!). Does anyone know when this change came in? Can it easily be reverted so that applications can choose whether they want the events on the basis of the window flags and not based on whether there are scrollbars? Thanks! |
Matthew Phillips (473) 721 posts |
I’ve opened ticket 478 in the bug tracker. I hope that’s a better way to deal with this. |