From: Jason Rumney Date: Sun, 8 Feb 2009 15:35:36 +0000 (+0000) Subject: (w32_hide_hourglass): Handle case where frame X-Git-Tag: emacs-pretest-23.0.91~331 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=89e094286d3d48adbb5ea94f66f39dbf8303d9ab;p=emacs.git (w32_hide_hourglass): Handle case where frame disappeared while hourglass was displayed. (Bug #2193) --- diff --git a/src/ChangeLog b/src/ChangeLog index 4cd88a056ee..7c4cbf9f312 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2009-02-08 Jason Rumney + + * w32fns.c (w32_hide_hourglass): Handle case where frame + disappeared while hourglass was displayed. (Bug #2193) + 2009-02-07 Andreas Schwab * unexelf.c (unexec): Fix error message. diff --git a/src/w32fns.c b/src/w32fns.c index 70964cb8667..16649cce2cb 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -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; } }