On 09/12/2011 05:44 AM, Jussi Pakkanen wrote:
> The cause of (some part) of this bug is somewhere else. I removed all
> code from patch 503 and left only the part that adds new fields to
> structs. Effectively it looks like this:
>
> --- a/include/inputstr.h
> +++ b/include/inputstr.h
> @@ -335,6 +335,8 @@ typedef struct _TouchPointInfo {
> unsigned int history_size; /* Size of history ring buffer */
> InternalEvent *first_history; /* Pointer to first event in history */
> InternalEvent *next_history; /* Pointer to next available event */
> + int untransformed_x;
> + int untransformed_y;
> } TouchPointInfoRec;
>
> typedef struct _TouchAxisInfo {
> @@ -623,6 +625,8 @@ typedef struct _DeviceIntRec {
> float remainder[MAX_VALUATORS];
> int numValuators;
> DeviceIntPtr slave;
> + int untransformed_x;
> + int untransformed_y;
> } last;
>
> Simply applying this patch breaks pressure. Since this gets installed to
> /usr/include/xorg/inputstr.h, that means that someone (Qt probably) is
> using these structs incorrectly (creating them by themselves, building
> arrays or something else).
The TouchPointInfo* structure isn't used in xf86-input-evdev, so that
shouldn't be an issue. However, DeviceIntRec is used in the input
modules, so that could be an issue.
Jussi, please rebuild xserver-xorg-input-evdev against a server with
these struct changes to see if it fixes things.
On 09/12/2011 05:44 AM, Jussi Pakkanen wrote: inputstr. h inputstr. h MAX_VALUATORS] ; xorg/inputstr. h, that means that someone (Qt probably) is
> The cause of (some part) of this bug is somewhere else. I removed all
> code from patch 503 and left only the part that adds new fields to
> structs. Effectively it looks like this:
>
> --- a/include/
> +++ b/include/
> @@ -335,6 +335,8 @@ typedef struct _TouchPointInfo {
> unsigned int history_size; /* Size of history ring buffer */
> InternalEvent *first_history; /* Pointer to first event in history */
> InternalEvent *next_history; /* Pointer to next available event */
> + int untransformed_x;
> + int untransformed_y;
> } TouchPointInfoRec;
>
> typedef struct _TouchAxisInfo {
> @@ -623,6 +625,8 @@ typedef struct _DeviceIntRec {
> float remainder[
> int numValuators;
> DeviceIntPtr slave;
> + int untransformed_x;
> + int untransformed_y;
> } last;
>
> Simply applying this patch breaks pressure. Since this gets installed to
> /usr/include/
> using these structs incorrectly (creating them by themselves, building
> arrays or something else).
The TouchPointInfo* structure isn't used in xf86-input-evdev, so that
shouldn't be an issue. However, DeviceIntRec is used in the input
modules, so that could be an issue.
Jussi, please rebuild xserver- xorg-input- evdev against a server with
these struct changes to see if it fixes things.
Thanks!