fix opengl wayland flicklering
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good
This commit is contained in:
parent
0550e74b98
commit
801c5e03d4
3 changed files with 6 additions and 6 deletions
|
|
@ -783,7 +783,11 @@ static void keyboard_key(void* data,
|
||||||
|
|
||||||
if(key != -1) {
|
if(key != -1) {
|
||||||
if(state == WL_KEYBOARD_KEY_STATE_PRESSED) {
|
if(state == WL_KEYBOARD_KEY_STATE_PRESSED) {
|
||||||
MwLLDispatch(self, key, &key);
|
MwLL topmost_parent = self;
|
||||||
|
while(topmost_parent->wayland.parent) {
|
||||||
|
MwLLDispatch(topmost_parent, key, &key);
|
||||||
|
topmost_parent = topmost_parent->wayland.parent;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
MwLLDispatch(self, key_released, &key);
|
MwLLDispatch(self, key_released, &key);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1108,11 +1108,6 @@ static int MwLLPendingImpl(MwLL handle) {
|
||||||
if((pending = wl_display_dispatch_pending(handle->wayland.display)) < 0) {
|
if((pending = wl_display_dispatch_pending(handle->wayland.display)) < 0) {
|
||||||
wl_display_cancel_read(handle->wayland.display);
|
wl_display_cancel_read(handle->wayland.display);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(MwWaylandAlwaysRender) {
|
|
||||||
handle->wayland.did_event_loop_early = MwTRUE;
|
|
||||||
event_loop(handle);
|
|
||||||
return pending;
|
return pending;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -870,6 +870,7 @@ void MwDispatchUserHandler(MwWidget handle, const char* key, void* handler_data)
|
||||||
int ind = shgeti(handle->handler, key);
|
int ind = shgeti(handle->handler, key);
|
||||||
int p = handle->prop_event;
|
int p = handle->prop_event;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if(ind == -1) return;
|
if(ind == -1) return;
|
||||||
if(handle->destroyed) return;
|
if(handle->destroyed) return;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue