Bug#412927: gpm-1.19.6-19sarge binary incompatibility in wire protocol with gpm-1.20.1

Daniël Mantione daniel.mantione at freepascal.org
Thu Mar 1 01:10:32 CET 2007


Package: gpm
Version: gpm-1.19.6-19sarge

Hi,

A user reported a bug at the Free Pascal bug tracker, reporting incorrect 
mouse behaviour in the Free Pascal IDE.

This issue is tracked here:

http://www.freepascal.org/mantis/view.php?id=8416

The problem has been identified as being caused by a patch that Debian 
applies over gpm to add mouse wheel support.

The Debian gpm.h file defines the gpm_event structure like this:

                    typedef struct Gpm_Event {
                      unsigned char buttons, modifiers; /* try to be a multiple of 4 */
                      unsigned short vc;
                      short dx, dy, x, y;
                      short wdx, wdy;
                      enum Gpm_Etype type;
                      int clicks;
                      enum Gpm_Margin margin;
                    } Gpm_Event;

However, in the "official" unpatched gpm.h from gpm 1.20.1, the structure 
is like this:

                    typedef struct Gpm_Event {
                      unsigned char buttons, modifiers; /* try to be a multiple of 4 */
                      unsigned short vc;
                      short dx, dy, x, y;
                      enum Gpm_Etype type;
                      int clicks;
                      enum Gpm_Margin margin;
                      short wdx, wdy;
                    } Gpm_Event;

This causes the wire protocol used by gpm servers in Debian to be 
different from gpm servers in other distributions, therefore causing 
incorrect behaviour in applications. I see no way to distinguish a Debian 
gpm server from a normal one, so I cannot write a work-around on the 
Free Pascal side.

Regards,

Daniël Mantione


More information about the pkg-gpm-devel mailing list