mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-11-05 18:24:04 +00:00
window: don't call output configure uninitialised
Callbacks registered via display_set_output_configure_handler() are promised to be called when we know the current mode for the output. If the following order of events happens: 1. toytoolkit binds to a wl_output global 2. application registers an output configure handler 3. the wl_output.mode events are received Then in step 2 we would call the callback with uninitialised output informations, giving it a 0x0 size. To avoid such race, do not call the callback from display_set_output_configure_handler() if the output has 0x0 size. The wl_output.mode event will be received later, and that will trigger the right call to the callback. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
parent
feb3c1d33b
commit
b2f957a9f1
1 changed files with 6 additions and 1 deletions
|
@ -3550,9 +3550,14 @@ display_set_output_configure_handler(struct display *display,
|
|||
if (!handler)
|
||||
return;
|
||||
|
||||
wl_list_for_each(output, &display->output_list, link)
|
||||
wl_list_for_each(output, &display->output_list, link) {
|
||||
if (output->allocation.width == 0 &&
|
||||
output->allocation.height == 0)
|
||||
continue;
|
||||
|
||||
(*display->output_configure_handler)(output,
|
||||
display->user_data);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue