I've looked at Bug 2182 and made appropriate modifications to riscos/save.c. This wasn't *too* tricky since the identifier of the bug also suggested how it might be solved.
I've tested the fix and it appears to have resolved the issue and not caused any other problems. Once again I've attached the patch in what I hope is the correct format. It's the result of two separate commits since before testing the revised version I commented out the code I was going to remove but forgot to actually remove the commented out code before doing the first commit. As before, please tell me whether or not the format of the patch is correct. Patch attached. -- David Gee Gateshead
>From eb36184581a194e0a85fca53b12b4ef466661ba2 Mon Sep 17 00:00:00 2001 From: David Gee <dr_d_...@blueyonder.co.uk> Date: Sat, 14 Mar 2015 12:54:29 +0000 Subject: [PATCH 1/2] Patch to fix issue with menu tree being collapsed needlessly. Fixed riscos/save.c as identified by Sprow. Tested OK. --- riscos/save.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/riscos/save.c b/riscos/save.c index b5d96c4..d11126d 100644 --- a/riscos/save.c +++ b/riscos/save.c @@ -417,7 +417,7 @@ void gui_drag_save_selection(struct gui_window *g, const char *selection) /* Close the save window because otherwise we need two contexts */ - xwimp_create_menu(wimp_CLOSE_MENU, 0, 0); + wimp_create_menu(wimp_CLOSE_MENU, 0, 0); ro_gui_dialog_close(dialog_saveas); gui_save_sourcew = g->window; @@ -723,7 +723,7 @@ void ro_gui_send_datasave(gui_save_type save_type, { /* Close the save window because otherwise we need two contexts */ - xwimp_create_menu(wimp_CLOSE_MENU, 0, 0); + /* xwimp_create_menu(wimp_CLOSE_MENU, 0, 0); */ ro_gui_dialog_close(dialog_saveas); if (ro_message_send_message(wimp_USER_MESSAGE_RECORDED, (wimp_message*)message, -- 1.9.1 >From a65bb2f00413f98275e77ce44b047bea7d11c0dc Mon Sep 17 00:00:00 2001 From: David Gee <dr_d_...@blueyonder.co.uk> Date: Sat, 14 Mar 2015 13:01:23 +0000 Subject: [PATCH 2/2] Removed commented out line to complete patch. --- riscos/save.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/riscos/save.c b/riscos/save.c index d11126d..7d44913 100644 --- a/riscos/save.c +++ b/riscos/save.c @@ -723,7 +723,7 @@ void ro_gui_send_datasave(gui_save_type save_type, { /* Close the save window because otherwise we need two contexts */ - /* xwimp_create_menu(wimp_CLOSE_MENU, 0, 0); */ + ro_gui_dialog_close(dialog_saveas); if (ro_message_send_message(wimp_USER_MESSAGE_RECORDED, (wimp_message*)message, -- 1.9.1