Hi all, I use valgrind to check memory on efl demo, but valgrind show error as shown below, attached are the efl demo codes, please help to advise where went wrong ?
sudo valgrind --tool=memcheck --leak-check=full ./edje-anchors ==37097== Memcheck, a memory error detector ==37097== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==37097== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==37097== Command: ./edje-anchors ==37097== key:Escape ==37097== ==37097== HEAP SUMMARY: ==37097== in use at exit: 246,790 bytes in 2,198 blocks ==37097== total heap usage: 17,746 allocs, 15,548 frees, 6,874,546 bytes allocated ==37097== ==37097== 10 bytes in 1 blocks are definitely lost in loss record 10 of 238 ==37097== at 0x4C2DE96: malloc (vg_replace_malloc.c:309) ==37097== by 0x5D07489: strdup (strdup.c:42) ==37097== by 0x72A8CBE: eina_vpath_resolve (eina_vpath.c:285) ==37097== by 0x90128D9: _efreet_efreet_app_interface_set (efreet.c:49) ==37097== by 0x9012F27: efreet_init (efreet.c:149) ==37097== by 0x5803F36: edje_init (edje_main.c:78) ==37097== by 0x400EED: main (in /home/lg/GSC/efl-1.21.1/src/examples/edje/edje-anchors) ==37097== ==37097== 32 bytes in 1 blocks are definitely lost in loss record 49 of 238 ==37097== at 0x4C2FFAC: calloc (vg_replace_malloc.c:762) ==37097== by 0x4FD5B28: generic_cache_new (evas_common_generic_cache.c:7) ==37097== by 0x4FE9AE6: eng_engine_new (evas_engine.c:3880) ==37097== by 0x4EAC544: evas_output_method_set (evas_main.c:1224) ==37097== by 0x12C3F004: ecore_evas_software_x11_new_internal (ecore_evas_x.c:4153) ==37097== by 0x554F606: ecore_evas_software_x11_new (ecore_evas.c:3831) ==37097== by 0x554F7EA: _ecore_evas_constructor_software_x11 (ecore_evas.c:780) ==37097== by 0x55499EF: _ecore_evas_new_auto_discover (ecore_evas.c:1021) ==37097== by 0x55499EF: ecore_evas_new (ecore_evas.c:1046) ==37097== by 0x400F12: main (in /home/lg/GSC/efl-1.21.1/src/examples/edje/edje-anchors) ==37097== ==37097== 82 bytes in 1 blocks are definitely lost in loss record 154 of 238 ==37097== at 0x4C2DE96: malloc (vg_replace_malloc.c:309) ==37097== by 0x727B586: eina_module_new (eina_module.c:272) ==37097== by 0x4F530F6: evas_module_find_type.part.3 (evas_module.c:601) ==37097== by 0x4EA9E52: evas_render_method_lookup (evas_main.c:644) ==37097== by 0x12C3EE2D: ecore_evas_software_x11_new_internal (ecore_evas_x.c:4086) ==37097== by 0x554F606: ecore_evas_software_x11_new (ecore_evas.c:3831) ==37097== by 0x554F7EA: _ecore_evas_constructor_software_x11 (ecore_evas.c:780) ==37097== by 0x55499EF: _ecore_evas_new_auto_discover (ecore_evas.c:1021) ==37097== by 0x55499EF: ecore_evas_new (ecore_evas.c:1046) ==37097== by 0x400F12: main (in /home/lg/GSC/efl-1.21.1/src/examples/edje/edje-anchors) ==37097== ==37097== 232 (192 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 190 of 238 ==37097== at 0x4C2FFAC: calloc (vg_replace_malloc.c:762) ==37097== by 0x703431E: _efl_add_internal_start (eo.c:896) ==37097== by 0x4E8F279: evas_device_add_full (evas_device.c:190) ==37097== by 0x4EAC655: evas_output_method_set (evas_main.c:1251) ==37097== by 0x12C3F004: ecore_evas_software_x11_new_internal (ecore_evas_x.c:4153) ==37097== by 0x554F606: ecore_evas_software_x11_new (ecore_evas.c:3831) ==37097== by 0x554F7EA: _ecore_evas_constructor_software_x11 (ecore_evas.c:780) ==37097== by 0x55499EF: _ecore_evas_new_auto_discover (ecore_evas.c:1021) ==37097== by 0x55499EF: ecore_evas_new (ecore_evas.c:1046) ==37097== by 0x400F12: main (in /home/lg/GSC/efl-1.21.1/src/examples/edje/edje-anchors) ==37097== ==37097== 232 (192 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 191 of 238 ==37097== at 0x4C2FFAC: calloc (vg_replace_malloc.c:762) ==37097== by 0x703431E: _efl_add_internal_start (eo.c:896) ==37097== by 0x4E8F279: evas_device_add_full (evas_device.c:190) ==37097== by 0x4EAC6A0: evas_output_method_set (evas_main.c:1255) ==37097== by 0x12C3F004: ecore_evas_software_x11_new_internal (ecore_evas_x.c:4153) ==37097== by 0x554F606: ecore_evas_software_x11_new (ecore_evas.c:3831) ==37097== by 0x554F7EA: _ecore_evas_constructor_software_x11 (ecore_evas.c:780) ==37097== by 0x55499EF: _ecore_evas_new_auto_discover (ecore_evas.c:1021) ==37097== by 0x55499EF: ecore_evas_new (ecore_evas.c:1046) ==37097== by 0x400F12: main (in /home/lg/GSC/efl-1.21.1/src/examples/edje/edje-anchors) ==37097== ==37097== 232 (192 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 192 of 238 ==37097== at 0x4C2FFAC: calloc (vg_replace_malloc.c:762) ==37097== by 0x703431E: _efl_add_internal_start (eo.c:896) ==37097== by 0x4E8F279: evas_device_add_full (evas_device.c:190) ==37097== by 0x4EAC6DE: evas_output_method_set (evas_main.c:1260) ==37097== by 0x12C3F004: ecore_evas_software_x11_new_internal (ecore_evas_x.c:4153) ==37097== by 0x554F606: ecore_evas_software_x11_new (ecore_evas.c:3831) ==37097== by 0x554F7EA: _ecore_evas_constructor_software_x11 (ecore_evas.c:780) ==37097== by 0x55499EF: _ecore_evas_new_auto_discover (ecore_evas.c:1021) ==37097== by 0x55499EF: ecore_evas_new (ecore_evas.c:1046) ==37097== by 0x400F12: main (in /home/lg/GSC/efl-1.21.1/src/examples/edje/edje-anchors) ==37097== ==37097== LEAK SUMMARY: ==37097== definitely lost: 700 bytes in 6 blocks ==37097== indirectly lost: 120 bytes in 3 blocks ==37097== possibly lost: 0 bytes in 0 blocks ==37097== still reachable: 245,970 bytes in 2,189 blocks ==37097== suppressed: 0 bytes in 0 blocks ==37097== Reachable blocks (those to which a pointer was found) are not shown. ==37097== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==37097== ==37097== For lists of detected and suppressed errors, rerun with: -s ==37097== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
/**
* Simple Edje example for layouting parts with anchors.
*
* You'll need at least one Evas engine built for it (excluding the
* buffer one). See stdout/stderr for output.
*
* @verbatim
* edje_cc edje-anchors.edc && gcc -o edje-anchors edje-anchors.c `pkg-config
--libs --cflags evas ecore ecore-evas edje`
* @endverbatim
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#else
# define EINA_UNUSED
#endif
#include <Ecore.h>
#include <Ecore_Evas.h>
#include <Edje.h>
#include <libgen.h>
#define WIDTH 400
#define HEIGHT 400
static void
_on_key_down(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj,
void *event_info)
{
Evas_Event_Key_Down *ev;
double ft;
ev = (Evas_Event_Key_Down *)event_info;
printf("key:%s\n", ev->key);
if (!strcmp(ev->key, "Escape"))
ecore_main_loop_quit();
}
int
main(int argc EINA_UNUSED, char **argv)
{
char path[PATH_MAX] = { 0, };
ecore_init();
ecore_evas_init();
edje_init();
Ecore_Evas *ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
Evas *e = ecore_evas_get(ee);
ecore_evas_show(ee);
Evas_Object *bg = evas_object_rectangle_add(e);
evas_object_color_set(bg, 64, 64, 64, 255);
evas_object_resize(bg, WIDTH, HEIGHT);
evas_object_show(bg);
snprintf(path, sizeof(path), "%s/edje-anchors.edj", dirname(*argv));
Evas_Object *edje = edje_object_add(e);
edje_object_file_set(edje, path, "main");
evas_object_resize(edje, WIDTH, HEIGHT);
evas_object_event_callback_add(edje, EVAS_CALLBACK_KEY_DOWN,
_on_key_down, NULL);
evas_object_focus_set(edje, EINA_TRUE);
evas_object_show(edje);
ecore_main_loop_begin();
edje_shutdown();
ecore_evas_shutdown();
ecore_shutdown();
return 0;
}
edje-anchors.edc
Description: Binary data
_______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
