x11display: fix BadWindow if get_pointer called after win close

This commit is contained in:
rdb 2018-07-17 23:01:44 +02:00
parent bbb15631c6
commit f45fa747d1

View File

@ -163,8 +163,8 @@ get_pointer(int device) const {
if (device == 0 && !_dga_mouse_enabled && result._in_window &&
x11GraphicsPipe::_x_mutex.try_lock()) {
XEvent event;
LightReMutexHolder holder(x11GraphicsPipe::_x_mutex);
if (XQueryPointer(_display, _xwindow, &event.xbutton.root,
if (_xwindow != None &&
XQueryPointer(_display, _xwindow, &event.xbutton.root,
&event.xbutton.window, &event.xbutton.x_root, &event.xbutton.y_root,
&event.xbutton.x, &event.xbutton.y, &event.xbutton.state)) {
double time = ClockObject::get_global_clock()->get_real_time();