Mercurial > hg > xemacs-beta
diff src/gpmevent.c @ 155:43dd3413c7c7 r20-3b4
Import from CVS: tag r20-3b4
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:39:39 +0200 |
parents | 25f70ba0133c |
children | e121b013d1f0 |
line wrap: on
line diff
--- a/src/gpmevent.c Mon Aug 13 09:38:27 2007 +0200 +++ b/src/gpmevent.c Mon Aug 13 09:39:39 2007 +0200 @@ -92,20 +92,27 @@ /* Only do this if we are running after dumping and really interactive */ if (!noninteractive && initialized) { /* We really only want to do this on a TTY */ + CONSOLE_TTY_MOUSE_FD (con) = -1; if (EQ (CONSOLE_TYPE (con), Qtty)) { Gpm_Connect conn; + int rval; conn.eventMask = GPM_DOWN|GPM_UP|GPM_MOVE; conn.defaultMask = GPM_MOVE; conn.minMod = 0; conn.maxMod = ((1<<KG_SHIFT)|(1<<KG_ALT)|(1<<KG_CTRL)); - if (Gpm_Open (&conn, 0) == -1) { - CONSOLE_TTY_MOUSE_FD (con) = -1; - return(0); + rval = Gpm_Open (&conn, 0); + switch (rval) { + case -1: /* General failure */ + break; + case -2: /* We are running under an XTerm */ + Gpm_Close(); + break; + default: + set_descriptor_non_blocking (gpm_fd); + CONSOLE_TTY_MOUSE_FD (con) = gpm_fd; } - set_descriptor_non_blocking (gpm_fd); - CONSOLE_TTY_MOUSE_FD (con) = gpm_fd; } } }