]> git.eshelyaron.com Git - emacs.git/commitdiff
(w32_hide_hourglass): Handle case where frame
authorJason Rumney <jasonr@gnu.org>
Sun, 8 Feb 2009 15:35:36 +0000 (15:35 +0000)
committerJason Rumney <jasonr@gnu.org>
Sun, 8 Feb 2009 15:35:36 +0000 (15:35 +0000)
disappeared while hourglass was displayed. (Bug #2193)

src/ChangeLog
src/w32fns.c

index 4cd88a056ee9409bc5cef3a786a63f9fb643322c..7c4cbf9f312b5e633246d7798ea71737f6b18fc2 100644 (file)
@@ -1,3 +1,8 @@
+2009-02-08  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (w32_hide_hourglass): Handle case where frame
+       disappeared while hourglass was displayed. (Bug #2193)
+
 2009-02-07  Andreas Schwab  <schwab@suse.de>
 
        * unexelf.c (unexec): Fix error message.
index 70964cb8667730fd4eca7ea87bb87c7f36d7f191..16649cce2cb1a8ef78b55f3aa844f8fb8e4bebcf 100644 (file)
@@ -5279,9 +5279,18 @@ w32_hide_hourglass ()
     {
       struct frame *f = x_window_to_frame (&one_w32_display_info,
                                           hourglass_hwnd);
+      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));
 
-      f->output_data.w32->hourglass_p = 0;
-      SetCursor (f->output_data.w32->current_cursor);
       hourglass_shown_p = 0;
     }
 }