It seems to particularly refer to this part of the code: https://github.com/adlocode/test-libweston-desktop/blob/master/shell.c#L179
If I remove the calls to weston_layer_entry_remove() and/or weston_layer_entry_insert(), the problem disappears. Of course this means windows no longer raise when clicked. Are there any possible solutions for this problem? Regards adlo > On 27 Jul 2018, at 05:44, adlo <[email protected]> wrote: > > Any ideas? > > The rest of my code can be found at: > https://github.com/adlocode/test-libweston-desktop > > Regards > > adlo > > >> On Tue, 2018-07-17 at 09:21 +0100, adlo wrote: >> I am writing a compositor using libweston. I am attempting to >> implement raising windows on click. It mostly works, but it has >> introduced a regression where the compositor freezes when I click on >> a popup menu, such as those in gedit. >> >> Here is my code: >> >> static void click_to_activate_binding (struct weston_pointer >> *pointer, >> const struct timespec *time, >> uint32_t button, >> void *data) >> { >> struct TestServer *server = data; >> struct TestServerSurface *shsurf; >> struct weston_seat *s; >> struct weston_surface *main_surface; >> >> main_surface = weston_surface_get_main_surface (pointer->focus- >>> surface); >> shsurf = weston_desktop_surface_get_user_data >> (weston_surface_get_desktop_surface >> (main_surface)); >> struct weston_surface *surface = weston_desktop_surface_get_surface >> (shsurf->desktop_surface); >> >> wl_list_for_each (s, &server->compositor->seat_list, link) >> { >> weston_view_activate (pointer->focus, s, >> WESTON_ACTIVATE_FLAG_CLICKED | >> WESTON_ACTIVATE_FLAG_CONFIGURE); >> weston_seat_set_keyboard_focus (s, pointer->focus->surface); >> weston_view_geometry_dirty (shsurf->view); >> weston_layer_entry_remove (&pointer->focus->layer_link); >> weston_layer_entry_insert (&server->surfaces_layer.view_list, >> &pointer->focus->layer_link); >> weston_view_geometry_dirty (shsurf->view); >> weston_surface_damage (main_surface); >> weston_desktop_surface_propagate_layer (shsurf- >>> desktop_surface); >> } >> >> } >> >> How can I resolve this? >> >> Regards >> >> adlo >
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
