emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32term.c


From: Jason Rumney
Subject: [Emacs-diffs] Changes to emacs/src/w32term.c
Date: Sat, 10 Nov 2001 08:20:57 -0500

Index: emacs/src/w32term.c
diff -u emacs/src/w32term.c:1.122 emacs/src/w32term.c:1.123
--- emacs/src/w32term.c:1.122   Mon Nov  5 10:02:13 2001
+++ emacs/src/w32term.c Wed Nov  7 16:11:00 2001
@@ -9604,31 +9604,33 @@
         and speech synthesizers can follow the cursor.  */
       if (active_cursor)
        {
-         HWND hwnd = FRAME_W32_WINDOW (f);
-
          struct glyph * cursor_glyph = get_phys_cursor_glyph (w);
-         int caret_width = cursor_glyph->pixel_width;
-         w32_system_caret_x
-           = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
-         w32_system_caret_y
-           = (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y)
-              + glyph_row->ascent - w->phys_cursor_ascent);
+         if (cursor_glyph)
+           {
+             HWND hwnd = FRAME_W32_WINDOW (f);
+             int caret_width = cursor_glyph->pixel_width;
+             w32_system_caret_x
+               = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
+             w32_system_caret_y
+               = (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y)
+                  + glyph_row->ascent - w->phys_cursor_ascent);
 
-         /* If the size of the active cursor changed, destroy the old
-            system caret.  */
-         if (w32_system_caret_hwnd
-             && (w32_system_caret_height != w->phys_cursor_height
-                 || w32_system_caret_width != caret_width))
-           PostMessage (hwnd, WM_EMACS_DESTROY_CARET, NULL, NULL);
+             /* If the size of the active cursor changed, destroy the old
+                system caret.  */
+             if (w32_system_caret_hwnd
+                 && (w32_system_caret_height != w->phys_cursor_height
+                     || w32_system_caret_width != caret_width))
+               PostMessage (hwnd, WM_EMACS_DESTROY_CARET, NULL, NULL);
 
-         if (!w32_system_caret_hwnd)
-           {
-             w32_system_caret_height = w->phys_cursor_height;
-             w32_system_caret_width = caret_width;
-           }
+             if (!w32_system_caret_hwnd)
+               {
+                 w32_system_caret_height = w->phys_cursor_height;
+                 w32_system_caret_width = caret_width;
+               }
 
-         /* Move the system caret.  */
-         PostMessage (hwnd, WM_EMACS_TRACK_CARET, NULL, NULL);
+             /* Move the system caret.  */
+             PostMessage (hwnd, WM_EMACS_TRACK_CARET, NULL, NULL);
+           }
        }
 
       switch (new_cursor_type)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]