mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
fix mouse jumping in osx firefox
This commit is contained in:
parent
609a328946
commit
ee9d22148e
@ -3547,6 +3547,8 @@ handle_event_osx_event_record(const P3D_event_data &event) {
|
||||
swb_event._flags = 0;
|
||||
add_carbon_modifier_flags(swb_event._flags, er->modifiers);
|
||||
|
||||
bool trust_mouse_data = true;
|
||||
|
||||
switch (er->what) {
|
||||
case mouseDown:
|
||||
swb_event._source = SubprocessWindowBuffer::ES_mouse;
|
||||
@ -3586,14 +3588,23 @@ handle_event_osx_event_record(const P3D_event_data &event) {
|
||||
_mouse_active = ((er->modifiers & 1) != 0);
|
||||
break;
|
||||
|
||||
case osEvt:
|
||||
// The mouse data sent with an "os event" seems to be in an
|
||||
// indeterminate space.
|
||||
trust_mouse_data = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (_mouse_active) {
|
||||
swb_event._x = pt.h;
|
||||
swb_event._y = pt.v;
|
||||
swb_event._flags |= SubprocessWindowBuffer::EF_mouse_position | SubprocessWindowBuffer::EF_has_mouse;
|
||||
swb_event._flags |= SubprocessWindowBuffer::EF_has_mouse;
|
||||
if (trust_mouse_data) {
|
||||
swb_event._x = pt.h;
|
||||
swb_event._y = pt.v;
|
||||
swb_event._flags |= SubprocessWindowBuffer::EF_mouse_position;
|
||||
}
|
||||
}
|
||||
|
||||
if (_swbuffer != NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user