changeset 101901:3447d99a0529

(w32_hide_hourglass): Handle case where frame disappeared while hourglass was displayed. (Bug #2193)
author Jason Rumney <jasonr@gnu.org>
date Sun, 08 Feb 2009 15:34:38 +0000
parents f0a6af6c77e8
children d2d9bb06c895
files src/w32fns.c
diffstat 1 files changed, 12 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32fns.c	Sun Feb 08 01:52:26 2009 +0000
+++ b/src/w32fns.c	Sun Feb 08 15:34:38 2009 +0000
@@ -5279,9 +5279,18 @@
     {
       struct frame *f = x_window_to_frame (&one_w32_display_info,
 					   hourglass_hwnd);
-
-      f->output_data.w32->hourglass_p = 0;
-      SetCursor (f->output_data.w32->current_cursor);
+      if (f)
+	f->output_data.w32->hourglass_p = 0;
+      else
+	/* If frame was deleted, restore to selected frame's cursor.  */
+	f = SELECTED_FRAME ();
+
+      if (FRAME_W32_P (f))
+	SetCursor (f->output_data.w32->current_cursor);
+      else
+	/* No cursors on non GUI frames - restore to stock arrow cursor.  */
+	SetCursor (w32_load_cursor (IDC_ARROW));
+
       hourglass_shown_p = 0;
     }
 }