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;
 

-- 


Reply via email to