|
Lines 2348-2356
Link Here
|
| 2348 |
gdk_device_get_state(event->device, event->window, event->axes, NULL); |
2348 |
gdk_device_get_state(event->device, event->window, event->axes, NULL); |
| 2349 |
fix_xinput_coords((GdkEvent *)event); |
2349 |
fix_xinput_coords((GdkEvent *)event); |
| 2350 |
} |
2350 |
} |
|
|
2351 |
if (!finite(event->x) || !finite(event->y)) return FALSE; // Xorg 7.3 bug |
| 2351 |
|
2352 |
|
| 2352 |
if (ui.cur_item_type == ITEM_TEXT && !is_event_within_textview(event)) |
2353 |
if (ui.cur_item_type == ITEM_TEXT && !is_event_within_textview(event)) |
| 2353 |
end_text(); |
2354 |
end_text(); |
|
|
2355 |
if (ui.cur_item_type == ITEM_STROKE && ui.is_corestroke && !is_core && |
| 2356 |
ui.cur_path.num_points == 1) { |
| 2357 |
// Xorg 7.3+ sent core event before XInput event: fix initial point |
| 2358 |
ui.is_corestroke = FALSE; |
| 2359 |
get_pointer_coords((GdkEvent *)event, ui.cur_path.coords); |
| 2360 |
} |
| 2354 |
if (ui.cur_item_type != ITEM_NONE) return FALSE; // we're already doing something |
2361 |
if (ui.cur_item_type != ITEM_NONE) return FALSE; // we're already doing something |
| 2355 |
|
2362 |
|
| 2356 |
ui.is_corestroke = is_core; |
2363 |
ui.is_corestroke = is_core; |
|
Lines 2523-2528
Link Here
|
| 2523 |
if (!ui.use_xinput && !is_core) return FALSE; |
2530 |
if (!ui.use_xinput && !is_core) return FALSE; |
| 2524 |
if (ui.use_xinput && is_core && !ui.is_corestroke) return FALSE; |
2531 |
if (ui.use_xinput && is_core && !ui.is_corestroke) return FALSE; |
| 2525 |
if (!is_core) fix_xinput_coords((GdkEvent *)event); |
2532 |
if (!is_core) fix_xinput_coords((GdkEvent *)event); |
|
|
2533 |
if (!finite(event->x) || !finite(event->y)) return FALSE; // Xorg 7.3 bug |
| 2534 |
if (!is_core) ui.is_corestroke = FALSE; |
| 2526 |
|
2535 |
|
| 2527 |
looks_wrong = !(event->state & (1<<(7+ui.which_mouse_button))); |
2536 |
looks_wrong = !(event->state & (1<<(7+ui.which_mouse_button))); |
| 2528 |
|
2537 |
|