summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Wilson <rjw@netsurf-browser.org>2006-12-03 18:17:56 +0000
committerRichard Wilson <rjw@netsurf-browser.org>2006-12-03 18:17:56 +0000
commitd18f49f0047221b431fc5ba3a89d1fd60e4198e5 (patch)
tree568c6d928be75d06d1513cdfef3de91fbb0ef795
parent4d14d54720d8228c9f3dbcf9805e3a7a2bcbc023 (diff)
downloadnetsurf-d18f49f0047221b431fc5ba3a89d1fd60e4198e5.tar.gz
netsurf-d18f49f0047221b431fc5ba3a89d1fd60e4198e5.tar.bz2
Guard against using invalid data.
svn path=/trunk/netsurf/; revision=3099
-rw-r--r--riscos/gui.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/riscos/gui.c b/riscos/gui.c
index 3e4b3c4b8..534c02088 100644
--- a/riscos/gui.c
+++ b/riscos/gui.c
@@ -1084,8 +1084,11 @@ void ro_gui_pointer_leaving_window(wimp_leaving *leaving)
break;
default:
+ if (gui_track_gui_window)
+ gui_window_set_pointer(gui_track_gui_window, GUI_POINTER_DEFAULT);
+ gui_track_wimp_w = 0;
+ gui_track_gui_window = NULL;
gui_track = false;
- gui_window_set_pointer(gui_track_gui_window, GUI_POINTER_DEFAULT);
break;
}
}
@@ -1157,10 +1160,12 @@ void ro_gui_drag_end(wimp_dragged *drag)
{
switch (gui_current_drag_type) {
case GUI_DRAG_SELECTION:
+ assert(gui_track_gui_window);
ro_gui_selection_drag_end(gui_track_gui_window, drag);
break;
case GUI_DRAG_SCROLL:
+ assert(gui_track_gui_window);
ro_gui_window_scroll_end(gui_track_gui_window, drag);
break;
@@ -1188,6 +1193,7 @@ void ro_gui_drag_end(wimp_dragged *drag)
break;
case GUI_DRAG_FRAME:
+ assert(gui_track_gui_window);
ro_gui_window_frame_resize_end(gui_track_gui_window, drag);
break;