mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-08 17:18:53 +02:00
XQuartz: Avoid a possible crash at startup due to unfavorable context switching.
This commit is contained in:
parent
0c31dfc694
commit
ff10c37bdd
1 changed files with 5 additions and 3 deletions
|
|
@ -365,6 +365,7 @@ void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int poin
|
||||||
static int darwinFakeMouseButtonMask = 0;
|
static int darwinFakeMouseButtonMask = 0;
|
||||||
int i, num_events;
|
int i, num_events;
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
|
ScreenPtr screen;
|
||||||
|
|
||||||
// DEBUG_LOG("x=%d, y=%d, p=%f, tx=%f, ty=%f\n", pointer_x, pointer_y, pressure, tilt_x, tilt_y);
|
// DEBUG_LOG("x=%d, y=%d, p=%f, tx=%f, ty=%f\n", pointer_x, pointer_y, pressure, tilt_x, tilt_y);
|
||||||
|
|
||||||
|
|
@ -415,11 +416,12 @@ void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int poin
|
||||||
darwinEvents_lock(); {
|
darwinEvents_lock(); {
|
||||||
num_events = GetPointerEvents(darwinEvents, dev, ev_type, ev_button,
|
num_events = GetPointerEvents(darwinEvents, dev, ev_type, ev_button,
|
||||||
POINTER_ABSOLUTE, 0, dev==darwinTablet?5:2, valuators);
|
POINTER_ABSOLUTE, 0, dev==darwinTablet?5:2, valuators);
|
||||||
for(i=0; i<num_events; i++) {
|
screen = miPointerGetScreen(dev);
|
||||||
|
for(i=0; i<num_events && screen; i++) {
|
||||||
darwinEvents[i].u.keyButtonPointer.rootX -= darwinMainScreenX +
|
darwinEvents[i].u.keyButtonPointer.rootX -= darwinMainScreenX +
|
||||||
dixScreenOrigins[miPointerCurrentScreen()->myNum].x;
|
dixScreenOrigins[screen->myNum].x;
|
||||||
darwinEvents[i].u.keyButtonPointer.rootY -= darwinMainScreenY +
|
darwinEvents[i].u.keyButtonPointer.rootY -= darwinMainScreenY +
|
||||||
dixScreenOrigins[miPointerCurrentScreen()->myNum].y;
|
dixScreenOrigins[screen->myNum].y;
|
||||||
mieqEnqueue (dev, &darwinEvents[i]);
|
mieqEnqueue (dev, &darwinEvents[i]);
|
||||||
}
|
}
|
||||||
DarwinPokeEQ();
|
DarwinPokeEQ();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue