kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=b5fbc942ac5bf6d922ebad00b8decb92d456bb26
commit b5fbc942ac5bf6d922ebad00b8decb92d456bb26 Author: Kim Woelders <k...@woelders.dk> Date: Sun Dec 29 00:48:02 2013 +0100 Fix memory leak when changing area. --- src/desktops.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/desktops.c b/src/desktops.c index e3f7260..5e7d865 100644 --- a/src/desktops.c +++ b/src/desktops.c @@ -1715,7 +1715,7 @@ _DeskCurrentGotoAreaStart(int pax, int pay, int ax, int ay) typedef struct { EWin *const *ewins_desk; - EWin *const *ewins_slide; + EWin **ewins_slide; int n_ewins_desk, n_ewins_slide; int slide_dx, slide_dy; } slide_area_data_t; @@ -1751,6 +1751,8 @@ _DeskCurrentGotoAreaEnd(slide_area_data_t * sad) MRF_NOCHECK_ONSCREEN); } + Efree(sad->ewins_slide); + if (!Conf.desks.slidein) EobjsRepaint(); @@ -1824,6 +1826,8 @@ DeskCurrentGotoArea(int ax, int ay) lst = EwinListGetAll(&num); sad->ewins_desk = lst; sad->n_ewins_desk = num; + sad->ewins_slide = NULL; + sad->n_ewins_slide = 0; sad->slide_dx = dx; sad->slide_dy = dy; --