mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-09 13:10:57 -08:00
(Fgpm_mouse_start): Don't signal an error if already activated on this tty.
(Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
This commit is contained in:
parent
6178ce5e8b
commit
4ce5ab773b
2 changed files with 16 additions and 2 deletions
|
|
@ -1,5 +1,9 @@
|
|||
2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* term.c (Fgpm_mouse_start): Don't signal an error if already activated
|
||||
on this tty.
|
||||
(Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
|
||||
|
||||
* term.c (mouse_face_window): Rename from Qmouse_face_window.
|
||||
Update all users.
|
||||
(handle_one_term_event): Use Gpm_DrawPointer.
|
||||
|
|
|
|||
14
src/term.c
14
src/term.c
|
|
@ -2952,10 +2952,12 @@ Gpm-mouse can only be activated for one tty at a time. */)
|
|||
? (f)->terminal->display_info.tty : NULL);
|
||||
Gpm_Connect connection;
|
||||
|
||||
if (gpm_tty)
|
||||
error ("Gpm-mouse can only be activated for one tty at a time");
|
||||
if (!tty)
|
||||
error ("Gpm-mouse only works in the GNU/Linux console");
|
||||
if (gpm_tty == tty)
|
||||
return Qnil; /* Already activated, nothing to do. */
|
||||
if (gpm_tty)
|
||||
error ("Gpm-mouse can only be activated for one tty at a time");
|
||||
|
||||
connection.eventMask = ~0;
|
||||
connection.defaultMask = ~GPM_HARD;
|
||||
|
|
@ -2983,6 +2985,14 @@ DEFUN ("gpm-mouse-stop", Fgpm_mouse_stop, Sgpm_mouse_stop,
|
|||
doc: /* Close a connection to Gpm. */)
|
||||
()
|
||||
{
|
||||
struct frame *f = SELECTED_FRAME ();
|
||||
struct tty_display_info *tty
|
||||
= ((f)->output_method == output_termcap
|
||||
? (f)->terminal->display_info.tty : NULL);
|
||||
|
||||
if (!tty || gpm_tty != tty)
|
||||
return Qnil; /* Not activated on this terminal, nothing to do. */
|
||||
|
||||
if (gpm_fd >= 0)
|
||||
delete_gpm_wait_descriptor (gpm_fd);
|
||||
while (Gpm_Close()); /* close all the stack */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue