]> git.eshelyaron.com Git - emacs.git/commitdiff
Clean up PGTK cursor blanking code
authorPo Lu <luangruo@yahoo.com>
Sun, 27 Mar 2022 11:53:49 +0000 (19:53 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 27 Mar 2022 11:53:49 +0000 (19:53 +0800)
* src/pgtkterm.c (XTframe_rehighlight): Rename to
`pgtk_frame_rehighlight_hook'.  All callers changed.
(x_toggle_visible_pointer): Rename to
`pgtk_toggle_visible_pointer'.  All callers changed.
(x_setup_pointer_blanking, XTtoggle_invisible_pointer): Delete
functions.
(pgtk_create_terminal): Use new names for various hooks.
(pgtk_term_init): Set up blank cursor directly.

* src/pgtkterm.h (struct pgtk_display_info): Remove
`toggle_visible_pointer'.

src/pgtkterm.c
src/pgtkterm.h

index e00ed7fa85d20340aa82fb02759170270a19d792..216b5ee7dd5c636cd568cf2c6f91f57520c08d60 100644 (file)
@@ -4697,16 +4697,17 @@ pgtk_frame_rehighlight (struct pgtk_display_info *dpyinfo)
    the appropriate X display info.  */
 
 static void
-XTframe_rehighlight (struct frame *frame)
+pgtk_frame_rehighlight_hook (struct frame *frame)
 {
   pgtk_frame_rehighlight (FRAME_DISPLAY_INFO (frame));
 }
 
 
-/* Toggle mouse pointer visibility on frame F by using invisible cursor.  */
+/* Set whether or not the mouse pointer should be visible on frame
+   F.  */
 
 static void
-x_toggle_visible_pointer (struct frame *f, bool invisible)
+pgtk_toggle_invisible_pointer (struct frame *f, bool invisible)
 {
   Emacs_Cursor cursor;
   if (invisible)
@@ -4718,22 +4719,6 @@ x_toggle_visible_pointer (struct frame *f, bool invisible)
   f->pointer_invisible = invisible;
 }
 
-static void
-x_setup_pointer_blanking (struct pgtk_display_info *dpyinfo)
-{
-  dpyinfo->toggle_visible_pointer = x_toggle_visible_pointer;
-  dpyinfo->invisible_cursor =
-    gdk_cursor_new_for_display (dpyinfo->gdpy, GDK_BLANK_CURSOR);
-}
-
-static void
-XTtoggle_invisible_pointer (struct frame *f, bool invisible)
-{
-  block_input ();
-  FRAME_DISPLAY_INFO (f)->toggle_visible_pointer (f, invisible);
-  unblock_input ();
-}
-
 /* The focus has changed.  Update the frames as necessary to reflect
    the new situation.  Note that we can't change the selected frame
    here, because the Lisp code we are interrupting might become confused.
@@ -4790,13 +4775,13 @@ pgtk_create_terminal (struct pgtk_display_info *dpyinfo)
 
   terminal->clear_frame_hook = pgtk_clear_frame;
   terminal->ring_bell_hook = pgtk_ring_bell;
-  terminal->toggle_invisible_pointer_hook = XTtoggle_invisible_pointer;
+  terminal->toggle_invisible_pointer_hook = pgtk_toggle_invisible_pointer;
   terminal->update_begin_hook = pgtk_update_begin;
   terminal->update_end_hook = pgtk_update_end;
   terminal->read_socket_hook = pgtk_read_socket;
   terminal->frame_up_to_date_hook = pgtk_frame_up_to_date;
   terminal->mouse_position_hook = pgtk_mouse_position;
-  terminal->frame_rehighlight_hook = XTframe_rehighlight;
+  terminal->frame_rehighlight_hook = pgtk_frame_rehighlight_hook;
   terminal->buffer_flipping_unblocked_hook = pgtk_buffer_flipping_unblocked_hook;
   terminal->frame_raise_lower_hook = pgtk_frame_raise_lower;
   terminal->frame_visible_invisible_hook = pgtk_make_frame_visible_invisible;
@@ -5772,7 +5757,7 @@ x_focus_changed (gboolean is_enter, int state,
         }
 
       if (frame->pointer_invisible)
-       XTtoggle_invisible_pointer (frame, false);
+       pgtk_toggle_invisible_pointer (frame, false);
     }
 }
 
@@ -6754,7 +6739,8 @@ pgtk_term_init (Lisp_Object display_name, char *resource_name)
        init_sigio (dpyinfo->connection);
     }
 
-  x_setup_pointer_blanking (dpyinfo);
+  dpyinfo->invisible_cursor
+    = gdk_cursor_new_for_display (dpyinfo->gdpy, GDK_BLANK_CURSOR);
 
   xsettings_initialize (dpyinfo);
 
index 4d2285cdb0a00a5023811a60f49abbf90443a78f..8803b482cca0ec928f05a811eab2419e22ca6403 100644 (file)
@@ -212,9 +212,6 @@ struct pgtk_display_info
      Unused if this display supports Xfixes extension.  */
   Emacs_Cursor invisible_cursor;
 
-  /* Function used to toggle pointer visibility on this display.  */
-  void (*toggle_visible_pointer) (struct frame *, bool);
-
   /* The GDK cursor for scroll bars and popup menus.  */
   GdkCursor *xg_cursor;