summaryrefslogtreecommitdiff
path: root/Xi
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-04-29 12:24:49 -0700
committerKeith Packard <keithp@keithp.com>2010-04-30 13:05:11 -0700
commit65e961fcc1da0f1e6c1c477701b2eeb36955ed24 (patch)
tree7a1e390680ac3ea5269968e0ee2c30a098473ae1 /Xi
parent998e982b775073da59412dce8ce609ea2ad7967c (diff)
Replace some input devPrivates with regular struct fields
In the process, fixes a memory leak in CloseDevice, and an unchecked memory allocation in InitializePredictableAccelerationProperties. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Jamey Sharp <jamey@minilop.net>
Diffstat (limited to 'Xi')
-rw-r--r--Xi/exevents.c63
1 files changed, 24 insertions, 39 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index e680f6fb8..949efe77f 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -94,9 +94,6 @@ Bool ShouldFreeInputMasks(WindowPtr /* pWin */ ,
static Bool MakeInputMasks(WindowPtr /* pWin */
);
-/* Used to sture classes currently not in use by an MD */
-extern DevPrivateKey UnusedClassesPrivateKey;
-
/*
* Only let the given client know of core events which will affect its
* interpretation of input events, if the client's ClientPointer (or the
@@ -228,8 +225,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
if (!to->intfeed)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->intfeed = classes->intfeed;
}
@@ -253,7 +249,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->intfeed && !from->intfeed)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->intfeed = to->intfeed;
to->intfeed = NULL;
}
@@ -264,8 +260,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
if (!to->stringfeed)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->stringfeed = classes->stringfeed;
}
@@ -289,7 +284,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->stringfeed && !from->stringfeed)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->stringfeed = to->stringfeed;
to->stringfeed = NULL;
}
@@ -300,8 +295,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
if (!to->bell)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->bell = classes->bell;
}
@@ -326,7 +320,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->bell && !from->bell)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->bell = to->bell;
to->bell = NULL;
}
@@ -337,8 +331,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
if (!to->leds)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->leds = classes->leds;
}
@@ -365,7 +358,7 @@ DeepCopyFeedbackClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->leds && !from->leds)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->leds = to->leds;
to->leds = NULL;
}
@@ -385,8 +378,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
if (!to->kbdfeed)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->kbdfeed = classes->kbdfeed;
if (!to->kbdfeed)
@@ -417,7 +409,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->kbdfeed && !from->kbdfeed)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->kbdfeed = to->kbdfeed;
to->kbdfeed = NULL;
}
@@ -426,8 +418,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
{
if (!to->key)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->key = classes->key;
if (!to->key)
InitKeyboardDeviceStruct(to, NULL, NULL, NULL);
@@ -439,7 +430,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->key && !from->key)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->key = to->key;
to->key = NULL;
}
@@ -476,8 +467,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
{
WindowPtr *oldTrace;
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->focus = classes->focus;
if (!to->focus)
{
@@ -500,7 +490,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->focus)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->focus = to->focus;
to->focus = NULL;
}
@@ -518,8 +508,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
PtrFeedbackPtr *p, it;
if (!to->ptrfeed)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->ptrfeed = classes->ptrfeed;
}
@@ -543,7 +532,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->ptrfeed && !from->ptrfeed)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->ptrfeed = to->ptrfeed;
to->ptrfeed = NULL;
}
@@ -553,8 +542,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
ValuatorClassPtr v;
if (!to->valuator)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->valuator = classes->valuator;
if (to->valuator)
classes->valuator = NULL;
@@ -577,7 +565,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->valuator && !from->valuator)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->valuator = to->valuator;
to->valuator = NULL;
}
@@ -586,8 +574,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
{
if (!to->button)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->button = classes->button;
if (!to->button)
{
@@ -617,7 +604,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->button && !from->button)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->button = to->button;
to->button = NULL;
}
@@ -626,8 +613,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
{
if (!to->proximity)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->proximity = classes->proximity;
if (!to->proximity)
{
@@ -642,7 +628,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->proximity)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->proximity = to->proximity;
to->proximity = NULL;
}
@@ -651,8 +637,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
{
if (!to->absolute)
{
- classes = dixLookupPrivate(&to->devPrivates,
- UnusedClassesPrivateKey);
+ classes = to->unused_classes;
to->absolute = classes->absolute;
if (!to->absolute)
{
@@ -667,7 +652,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
} else if (to->absolute)
{
ClassesPtr classes;
- classes = dixLookupPrivate(&to->devPrivates, UnusedClassesPrivateKey);
+ classes = to->unused_classes;
classes->absolute = to->absolute;
to->absolute = NULL;
}