Clients: Fix memleak issues in various clients of weston

In many clients of weston, Display was not being destroyed so added it.
Also destroy windows, widgets which were not being destroyed.

Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com>
Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
This commit is contained in:
vivek 2014-05-15 18:58:16 +05:30 committed by Jason Ekstrand
parent 1478ea54ca
commit 31732f7c68
11 changed files with 60 additions and 4 deletions

View file

@ -879,6 +879,14 @@ benchmark(void)
return 0; return 0;
} }
static void
cliptest_destroy(struct cliptest *cliptest)
{
widget_destroy(cliptest->widget);
window_destroy(cliptest->window);
free(cliptest);
}
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
@ -897,9 +905,8 @@ main(int argc, char *argv[])
cliptest = cliptest_create(d); cliptest = cliptest_create(d);
display_run(d); display_run(d);
widget_destroy(cliptest->widget); cliptest_destroy(cliptest);
window_destroy(cliptest->window); display_destroy(d);
free(cliptest);
return 0; return 0;
} }

View file

@ -639,6 +639,14 @@ dnd_create(struct display *display)
return dnd; return dnd;
} }
static void
dnd_destroy(struct dnd *dnd)
{
widget_destroy(dnd->widget);
window_destroy(dnd->window);
free(dnd);
}
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
@ -660,5 +668,8 @@ main(int argc, char *argv[])
display_run(d); display_run(d);
dnd_destroy(dnd);
display_destroy(d);
return 0; return 0;
} }

View file

@ -1382,6 +1382,9 @@ main(int argc, char *argv[])
text_entry_destroy(editor.entry); text_entry_destroy(editor.entry);
text_entry_destroy(editor.editor); text_entry_destroy(editor.editor);
widget_destroy(editor.widget);
window_destroy(editor.window);
display_destroy(editor.display);
return 0; return 0;
} }

View file

@ -195,5 +195,9 @@ int main(int argc, char *argv[])
display_run(d); display_run(d);
widget_destroy(flower.widget);
window_destroy(flower.window);
display_destroy(d);
return 0; return 0;
} }

View file

@ -562,5 +562,9 @@ int main(int argc, char *argv[])
display_run(d); display_run(d);
widget_destroy(fullscreen.widget);
window_destroy(fullscreen.window);
display_destroy(d);
return 0; return 0;
} }

View file

@ -469,17 +469,29 @@ gears_create(struct display *display)
return gears; return gears;
} }
static void
gears_destroy(struct gears *gears)
{
widget_destroy(gears->widget);
window_destroy(gears->window);
free(gears);
}
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
struct display *d; struct display *d;
struct gears *gears;
d = display_create(&argc, argv); d = display_create(&argc, argv);
if (d == NULL) { if (d == NULL) {
fprintf(stderr, "failed to create display: %m\n"); fprintf(stderr, "failed to create display: %m\n");
return -1; return -1;
} }
gears_create(d); gears = gears_create(d);
display_run(d); display_run(d);
gears_destroy(gears);
display_destroy(d);
return 0; return 0;
} }

View file

@ -424,5 +424,7 @@ main(int argc, char *argv[])
if (image_counter > 0) if (image_counter > 0)
display_run(d); display_run(d);
display_destroy(d);
return 0; return 0;
} }

View file

@ -321,6 +321,9 @@ main(int argc, char *argv[])
display_run(d); display_run(d);
widget_destroy(box.widget);
window_destroy(box.window); window_destroy(box.window);
display_destroy(d);
return 0; return 0;
} }

View file

@ -329,5 +329,9 @@ int main(int argc, char *argv[])
display_run(d); display_run(d);
widget_destroy(smoke.widget);
window_destroy(smoke.window);
display_destroy(d);
return 0; return 0;
} }

View file

@ -304,5 +304,8 @@ main(int argc, char *argv[])
display_run(stacking.display); display_run(stacking.display);
window_destroy(stacking.root_window);
display_destroy(stacking.display);
return 0; return 0;
} }

View file

@ -290,6 +290,9 @@ int main(int argc, char *argv[])
transformed.width, transformed.height); transformed.width, transformed.height);
display_run(d); display_run(d);
widget_destroy(transformed.widget);
window_destroy(transformed.window);
display_destroy(d);
return 0; return 0;
} }