From 3d9ac54d214a4689ebd33ef472496ff181dd990f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 13 Dec 2012 13:01:57 +0000 Subject: [PATCH] even more leaks in randr11 refresh rates fail SVN revision: 80841 --- src/bin/e_randr_11.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/e_randr_11.c b/src/bin/e_randr_11.c index 63d31def5..2b8192e48 100644 --- a/src/bin/e_randr_11.c +++ b/src/bin/e_randr_11.c @@ -17,13 +17,11 @@ _11_screen_info_new(void) EINA_SAFETY_ON_TRUE_RETURN_VAL(E_RANDR_11_NO, NULL); - randr_info_11 = malloc(sizeof(E_Randr_Screen_Info_11)); + randr_info_11 = E_NEW(E_Randr_Screen_Info_11, 1); - randr_info_11->sizes = NULL; randr_info_11->csize_index = Ecore_X_Randr_Unset; randr_info_11->corientation = Ecore_X_Randr_Unset; randr_info_11->orientations = Ecore_X_Randr_Unset; - randr_info_11->rates = NULL; randr_info_11->current_rate = Ecore_X_Randr_Unset; if (!(sizes = ecore_x_randr_screen_primary_output_sizes_get(e_randr_screen_info.root, &nsizes))) @@ -45,6 +43,11 @@ _11_screen_info_new(void) return randr_info_11; _info_11_new_fail: + if (randr_info_11) + { + free(randr_info_11->rates); + free(randr_info_11->nrates); + } free(sizes); free(randr_info_11); return NULL;