dix: Allocate MD's motion history to be large enough for potential valuators

Since we can't predict how many valuators may be in a future SD attached to an
MD, we need to preallocate a history buffer that is large enough to keep
MAX_VALUATORS coordinates per event.

In addition, the history buffer needs to memorize the coordinate ranges at the
time, thus requiring MDs to store (min_val, max_val, current_val, time)
instead of (current_val, time) for each motion history entry.

This commit only fixes the allocation.
This commit is contained in:
Peter Hutterer
2008-05-26 09:26:18 +09:30
parent 0877de13ac
commit d22c25bda4
2 changed files with 16 additions and 6 deletions

View File

@@ -167,9 +167,9 @@ typedef struct _ValuatorClassRec {
int numMotionEvents;
int first_motion;
int last_motion;
void *motion; /* motion history buffer */
WindowPtr motionHintWindow;
void *motion; /* motion history buffer. Different layout
for MDs and SDs!*/
WindowPtr motionHintWindow;
AxisInfoPtr axes;
unsigned short numAxes;