# HG changeset patch # User Jason Rumney # Date 1006623066 0 # Node ID 783d21cc62b9bd05054856e90db02a787407d915 # Parent 4d04ea305201941940a48a81251f1767b53db21f (x_after_update_window_line): Doc fix. (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip frames. : Redo mouse highlight when hiding tip frame. diff -r 4d04ea305201 -r 783d21cc62b9 src/w32term.c --- a/src/w32term.c Sat Nov 24 17:10:39 2001 +0000 +++ b/src/w32term.c Sat Nov 24 17:31:06 2001 +0000 @@ -752,7 +752,7 @@ /* Draw truncation mark bitmaps, continuation mark bitmaps, overlay arrow bitmaps, or clear the fringes if no bitmaps are required before DESIRED_ROW is made current. The window being updated is - found in updated_window. This function It is called from + found in updated_window. This function is called from update_window_line only if it is known that there are differences between bitmaps to be drawn between current row and DESIRED_ROW. */ @@ -8464,7 +8464,7 @@ if (numchars <= 0) abort (); /* Don't think this happens. */ - /* TODO: tooltips, tool-bars, ghostscript integration, mouse + /* TODO: tool-bars, ghostscript integration, mouse cursors. */ while (get_next_msg (&msg, FALSE)) { @@ -8789,6 +8789,15 @@ break; case WM_SHOWWINDOW: + /* wParam non-zero means Window is about to be shown, 0 means + about to be hidden. */ + /* Redo the mouse-highlight after the tooltip has gone. */ + if (!msg.msg.wParam && msg.msg.hwnd == tip_window) + { + tip_window = NULL; + redo_mouse_highlight (); + } + /* If window has been obscured or exposed by another window being maximised or minimised/restored, then recheck visibility of all frames. Direct changes to our own @@ -9068,6 +9077,11 @@ FOR_EACH_FRAME (tail, frame) { FRAME_PTR f = XFRAME (frame); + /* The tooltip has been drawn already. Avoid the + SET_FRAME_GARBAGED below. */ + if (f == XFRAME (tip_frame)) + continue; + /* Check "visible" frames and mark each as obscured or not. Note that async_visible is nonzero for unobscured and obscured frames, but zero for hidden and iconified frames. */