2020-07-02 21:05 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002056NetSurfRISC OS-specificpublic2015-03-10 10:42
ReporterVincent Sanders 
Assigned ToSteve Fryatt 
Product Version3.1 
Target VersionFixed in Version3.1 
Summary0002056: The RISC OS frotend re-enters gui_poll()
Descriptionriscos/wimp_event.c:722 calls the explicitly non-reentrant gui_poll() function

This is the only remaining instance of this as jmb removed all the rest.

The reason for causing a poll need to be examined and addressed as to why this call is present.

This also means the pui_poll() function is not static to riscos/gui.c
TagsNo tags attached.
Fixed in CI build #1665
Reported in CI build #1622
URL of problem page
Attached Files


Steve Fryatt


Steve Fryatt (developer)

The call is part of the process to open a pop-up menu in a formerly transient dialogue box by first making the dialogue static.

This requirement is caused by Message_MenusDeleted calling ro_gui_menu_closed() to handle the closure. ro_gui_menu_closed() forcibly closes the currently open menu; as Message_MenusDeleted is defined by RISC OS to arrive after the replacement menu has been created, the new pop-up menu is therefore closed immediately. The poll ensures that the message is cleared before the new menu opens; alternatively, the message handler probably does not need to close any menus?

A provisional fix is in the stevef/menus branch, but there's scope for further tidying of the menu handler to make it clearer what is going on.
Vincent Sanders


Vincent Sanders (administrator)

jmb reviewed and mentioned if he had actually recalled why that logic looked like that he would have formulated much the same fix.

So its merged and the bugs closed :-)
Vincent Sanders


Vincent Sanders (administrator)

Confirmed fixed in 3.1 release

-Issue History
Date Modified Username Field Change
2014-01-16 16:11 Vincent Sanders New Issue
2014-01-16 16:11 Vincent Sanders Status new => assigned
2014-01-16 16:11 Vincent Sanders Assigned To => Steve Fryatt
2014-01-29 00:25 Steve Fryatt Note Added: 0000181
2014-01-29 10:04 Vincent Sanders Fixed in CI build # => 1665
2014-01-29 10:04 Vincent Sanders Note Added: 0000182
2014-01-29 10:04 Vincent Sanders Status assigned => resolved
2014-01-29 10:04 Vincent Sanders Resolution open => fixed
2014-01-29 10:04 Vincent Sanders Fixed in Version => 3.1
2015-03-10 10:42 Vincent Sanders Note Added: 0000677
2015-03-10 10:42 Vincent Sanders Status resolved => closed
+Issue History