summaryrefslogtreecommitdiff
path: root/frontends
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2020-05-24 14:39:49 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2020-05-24 14:39:49 +0100
commit1c4025e92c8da488e6c931009725e0e1d6902d01 (patch)
tree6c6d90c1b982ce22d0712ce1ee9375adf3ffbe55 /frontends
parentcb44b5637872b23050eaa80403dd79e9a60fc5cb (diff)
downloadnetsurf-1c4025e92c8da488e6c931009725e0e1d6902d01.tar.gz
netsurf-1c4025e92c8da488e6c931009725e0e1d6902d01.tar.bz2
RISC OS: Prevent closed corewindows opening on scroll requests.
Diffstat (limited to 'frontends')
-rw-r--r--frontends/riscos/corewindow.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/frontends/riscos/corewindow.c b/frontends/riscos/corewindow.c
index 4398fca28..bc1fb7785 100644
--- a/frontends/riscos/corewindow.c
+++ b/frontends/riscos/corewindow.c
@@ -144,10 +144,24 @@ static void ro_cw_scroll(wimp_scroll *scroll)
int page_y;
struct ro_corewindow *ro_cw;
wimp_open open;
+ wimp_window_state state;
ro_cw = (struct ro_corewindow *)ro_gui_wimp_event_get_user_data(scroll->w);
NSLOG(netsurf, INFO, "RO corewindow context %p", ro_cw);
+ state.w = ro_cw->wh;
+ error = xwimp_get_window_state(&state);
+ if (error) {
+ NSLOG(netsurf, INFO, "xwimp_get_window_state: 0x%x: %s",
+ error->errnum, error->errmess);
+ return;
+ }
+
+ /* Don't try to update window if it's closed */
+ if (!(state.flags & wimp_WINDOW_OPEN)) {
+ return;
+ }
+
page_x = scroll->visible.x1 - scroll->visible.x0 - 32;
page_y = scroll->visible.y1 - scroll->visible.y0 - 32;