[PATCH weston-ivi-shell v4 3/9] ivi-shell supports a type of shell for In-Vehicle Infotainment system.
Nobuhiko Tanibata
nobuhiko_tanibata at xddp.denso.co.jp
Mon May 19 22:05:10 PDT 2014
Hi pq,
I applied your comments except for several ones,
>> + struct ivi_shell *shell = wl_resource_get_user_data(resource);
>> + struct ivi_shell_surface *ivisurf = NULL;
>> + struct weston_layout_surface *layout_surface = NULL;
>> + struct weston_surface *es =
>> wl_resource_get_user_data(surface_resource);
>> + struct wl_resource *res;
>> + int32_t warn_idx = -1;
>> +
>> + if (es != NULL) {
>> + layout_surface = weston_layout_surfaceCreate(es, id_surface);
>> + if (layout_surface == NULL)
>> + warn_idx = 1;
>> + } else {
>> + warn_idx = 0;
>
> I think this case would be a compositor internal error, not a client
> error. Userdata of a surface resource should never be NULL. I.e.
> assert() kind of thing would be more approriate.
>
I expect it would send warning to client. So I implement it like the
above.
>> + init_ivi_shell(ec, shell);
>> + weston_layout_initWithCompositor(ec);
>> +
>> + shell->destroy_listener.notify = shell_destroy;
>> + wl_signal_add(&ec->destroy_signal, &shell->destroy_listener);
>> +
>> + if (wl_global_create(ec->wl_display, &ivi_application_interface,
>> 1,
>> + shell, bind_ivi_application) == NULL) {
>> + return -1;
>> + }
>
> You are not setting compositor->shell_interface, but OTOH those are
> only used for Xwayland, which probably doesn't make sense here.
I was advised by kritian before it shall not support other shell in
ivi-shell at the same time.
BR,
Nobuhiko
>
>> +
>> + return 0;
>> +}
>
>
> Thanks,
> pq
More information about the wayland-devel
mailing list