On Wed, 9 Mar 2016 11:10:51 -0800
Bryce Harrington <[email protected]> wrote:

> On Wed, Mar 09, 2016 at 10:35:53AM +0000, Ucan, Emre (ADITG/SW1) wrote:
> > Hi,
> > 
> > My apologies. I wrote it wrong. The API is in ivi-layout-private.h.
> > 
> > Then, it is good:
> > 
> > Reviewed-by: Emre Ucan <[email protected]>  
> 
> From a technical review, looks ok to me:
> 
> Reviewed-by: Bryce Harrington <[email protected]>

Pushed:
   c6a55db..dada6e3  master -> master

Thanks,
pq


>  
> > Best regards
> > 
> > Emre Ucan
> > Software Group I (ADITG/SW1)
> > 
> > Tel. +49 5121 49 6937
> >   
> > > -----Original Message-----
> > > From: wayland-devel [mailto:wayland-devel-
> > > [email protected]] On Behalf Of Ucan, Emre (ADITG/SW1)
> > > Sent: Mittwoch, 9. März 2016 11:23
> > > To: [email protected]; [email protected]
> > > Subject: RE: [PATCH] ivi-shell: Remove all surface transitions when it is 
> > > being
> > > removed.
> > > 
> > > Hello Mateusz,
> > > 
> > > Thank you for your patch. It is good catch.
> > > 
> > > Why do we need to make this new API public ?
> > > 
> > > ivi_layout_remove_all_surface_transitions is called only in ivi-layout.c.
> > > It should be a static function and not a public API.
> > > 
> > >   
> > > > -----Original Message-----
> > > > From: wayland-devel [mailto:wayland-devel-
> > > > [email protected]] On Behalf Of [email protected]
> > > > Sent: Mittwoch, 9. März 2016 09:57
> > > > To: [email protected]
> > > > Cc: Mateusz Polrola
> > > > Subject: [PATCH] ivi-shell: Remove all surface transitions when it is 
> > > > being
> > > > removed.
> > > >
> > > > From: Mateusz Polrola <[email protected]>
> > > >
> > > > If surface transitions are not removed when surface is being removed, 
> > > > it  
> > > can  
> > > > lead to crash later when transition will finish, as it will try to 
> > > > reference  
> > > already  
> > > > freed memory.
> > > > This change exposes function that can remove all existing transitions 
> > > > for
> > > > given surface and it is being called during surface cleanup.
> > > >
> > > > Signed-off-by: Mateusz Polrola <[email protected]>
> > > > ---
> > > >  ivi-shell/ivi-layout-private.h    |  3 +++
> > > >  ivi-shell/ivi-layout-transition.c | 16 ++++++++++++++++
> > > >  ivi-shell/ivi-layout.c            |  2 ++
> > > >  3 files changed, 21 insertions(+)
> > > >
> > > > diff --git a/ivi-shell/ivi-layout-private.h 
> > > > b/ivi-shell/ivi-layout-private.h index
> > > > 3a23ef4..8c847e7 100644
> > > > --- a/ivi-shell/ivi-layout-private.h
> > > > +++ b/ivi-shell/ivi-layout-private.h
> > > > @@ -158,6 +158,9 @@ ivi_layout_transition_fade_layer(struct
> > > > ivi_layout_layer *layer,  int32_t  is_surface_transition(struct
> > > > ivi_layout_surface *surface);
> > > >
> > > > +void
> > > > +ivi_layout_remove_all_surface_transitions(struct ivi_layout_surface
> > > > +*surface);
> > > > +
> > > >  /**
> > > >   * methods of interaction between ivi-shell with ivi-layout
> > > >   */
> > > > diff --git a/ivi-shell/ivi-layout-transition.c 
> > > > b/ivi-shell/ivi-layout-transition.c
> > > > index 3b613a5..ed11999 100644
> > > > --- a/ivi-shell/ivi-layout-transition.c
> > > > +++ b/ivi-shell/ivi-layout-transition.c
> > > > @@ -99,6 +99,22 @@ is_surface_transition(struct ivi_layout_surface
> > > > *surface)
> > > >         return 0;
> > > >  }
> > > >
> > > > +void
> > > > +ivi_layout_remove_all_surface_transitions(struct ivi_layout_surface
> > > > +*surface) {
> > > > +       struct ivi_layout *layout = get_instance();
> > > > +       struct transition_node *node;
> > > > +       struct transition_node *tmp;
> > > > +       struct ivi_layout_transition *tran;
> > > > +
> > > > +       wl_list_for_each_safe(node, tmp, &layout->transitions-  
> > > > >transition_list, link) {  
> > > > +               tran = node->transition;
> > > > +               if (tran->is_transition_func(tran->private_data, 
> > > > surface)) {
> > > > +                       layout_transition_destroy(tran);
> > > > +               }
> > > > +       };
> > > > +}
> > > > +
> > > >  static void
> > > >  tick_transition(struct ivi_layout_transition *transition, uint32_t 
> > > > timestamp)  
> > > {  
> > > > diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c index  
> > > c324b5e..61897ef  
> > > > 100644
> > > > --- a/ivi-shell/ivi-layout.c
> > > > +++ b/ivi-shell/ivi-layout.c
> > > > @@ -241,6 +241,8 @@ ivi_layout_surface_destroy(struct  
> > > ivi_layout_surface  
> > > > *ivisurf)
> > > >
> > > >         wl_signal_emit(&layout->surface_notification.removed, ivisurf);
> > > >
> > > > +       ivi_layout_remove_all_surface_transitions(ivisurf);
> > > > +
> > > >         remove_configured_listener(ivisurf);
> > > >
> > > >         ivi_layout_surface_remove_notification(ivisurf);
> > > > --
> > > > 2.1.0
> > > >
> > > > --------------------------------------------------------------
> > > > Intel Research and Development Ireland Limited Registered in Ireland
> > > > Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
> > > > Registered Number: 308263
> > > >
> > > >
> > > > This e-mail and any attachments may contain confidential material for 
> > > > the
> > > > sole use of the intended recipient(s). Any review or distribution by 
> > > > others  
> > > is  
> > > > strictly prohibited. If you are not the intended recipient, please 
> > > > contact the
> > > > sender and delete all copies.
> > > >
> > > > _______________________________________________
> > > > wayland-devel mailing list
> > > > [email protected]
> > > > https://lists.freedesktop.org/mailman/listinfo/wayland-devel  
> > > 
> > > Best regards
> > > 
> > > Emre Ucan
> > > Software Group I (ADITG/SW1)
> > > 
> > > Tel. +49 5121 49 6937
> > > _______________________________________________
> > > wayland-devel mailing list
> > > [email protected]
> > > https://lists.freedesktop.org/mailman/listinfo/wayland-devel  
> > _______________________________________________
> > wayland-devel mailing list
> > [email protected]
> > https://lists.freedesktop.org/mailman/listinfo/wayland-devel  
> _______________________________________________
> wayland-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Attachment: pgprJ3_OgvILd.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to