RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → General →

NetSurf Illegal Window Handle

Subscribe to NetSurf Illegal Window Handle 30 posts, 10 voices

Posts per page:

Pages: 1 2

 
Dec 23, 2019 7:31am
Avatar David Pitt (3386) 1248 posts

all you people who saw the problem: has the new CI build of NetSurf fixed it?

Yes, it is fixed in #4960, and is most welcome, many thanks.

 
Dec 23, 2019 9:34pm
Avatar Dave Higton (1515) 3091 posts

Yes, it has. Yes, it has.

My apologies for the double post (now removed).

I’ve updated NetSurf Mantis bug 2728 to show that NS has been fixed. Thanks for the reports.

 
Dec 26, 2019 7:00pm
Avatar jan de boer (472) 71 posts

The recent work on Wimp_SetCaretPosition maybe has made another victim. When you have a window without icons, in where you can drag and click (such as for editors, emulators) but which is not writable, then since the RO5.27 RPI-rom from 19-12-18 it is impossible to gain inputfocus. I used SYS"Wimp_SetCaretPosition", handle,-1,0,-1,-1,-1 to that end since ~25 years. If there is only 1 writable icon in that window, inputfocus is possible again. There are 2 testproggies “InputFocus” at www.tellima.nl/riscos/ to give an idea what’s going on.

 
Dec 27, 2019 3:31pm
Avatar Andy Vawer (5817) 28 posts

Thanks for the details, Jan. I see what you mean. When the focus is set with that call, the input focus is moved to the desired window but for some reason the focus in event and visible cues are not set.

I have submitted a possible fix to ROOL that caters for the R0=window handle, R1<0, R4=-1 (no flags) case and internally changes R4 to 0×02000000 (invisible caret). My version seems to work fine with your test programs now. Note that the PRM says “R4 and R5 can only be set to –1 if the icon handle passed in R1 is non-negative.” but this isn’t mentioned in the online docs which are more vague and just say R4=-1 means no flags. My interpretation of the PRM is that Wimp_SetCaretPosition,window_handle,-1,0,-1,-1,-1 isn’t strictly speaking a valid call as R4 mustn’t be -1 here, but obviously this has worked fine for the past 30 years…

There may be other situations where things worked even though they possibly shouldn’t have; we’ll have to see what else crops up and how we resolve them…

 
Dec 27, 2019 4:24pm
Avatar jan de boer (472) 71 posts

You are right, the way I called WimpSetCaretPos was incorrect. As !Zap has the same sort of mainwindow and does not suffer, I found the solution there already: call with handle,-1,0,0 1<<25,-1. I will change my software and scribble it in my PRM books. Thanks!

Pages: 1 2

Reply

To post replies, please first log in.

Forums → General →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

General discussions.

Voices

  • David Pitt (3386)
  • Dave Higton (1515)
  • jan de boer (472)
  • Andy Vawer (5817)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys