From 73876dcbc9c2bb0c863287855931c80a40b52ca9 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 11 Apr 2018 10:38:21 -0700 Subject: [PATCH] Revert "efl_add_ref - fis to use efl_add properly with a parent." This reverts commit 2fb5cc3ad09f6aaf82b5d1131ac5ed22ed848bd4. Most of this change where wrong as they didn't affect the destruction of the object. efl_add_ref allow for manual handling of the lifecycle of the object and make sure it is still alive during destructor. efl_add will not allow you to access an object after invalidate also efl.parent.get will always return NULL once the object is invalidated. Differential Revision: https://phab.enlightenment.org/D6062 --- unsorted/ecore/ecore_audio_custom.c | 4 ++-- unsorted/ecore/ecore_audio_playback.c | 8 ++++---- unsorted/ecore/ecore_audio_to_ogg.c | 18 +++++++++--------- unsorted/ecore/ecore_idler_example.c | 2 +- unsorted/ecore/ecore_poller_example.c | 12 ++++++------ unsorted/ecore/efl_io_copier_example.c | 12 ++++++------ unsorted/ecore/efl_io_queue_example.c | 8 ++++---- unsorted/ecore/efl_net_server_example.c | 6 +++--- unsorted/ecore/efl_net_server_simple_example.c | 2 +- .../ecore/efl_net_socket_ssl_dialer_example.c | 6 +++--- .../ecore/efl_net_socket_ssl_server_example.c | 6 +++--- unsorted/eio/eio_sentry.c | 2 +- unsorted/elementary/efl_ui_scroller_example.c | 4 ++-- .../elementary/efl_ui_view_list_example_1.c | 2 +- .../elementary/efl_ui_view_list_example_2.c | 2 +- .../elementary/efl_ui_view_list_example_3.c | 2 +- unsorted/elementary/filemvc.c | 9 ++++----- unsorted/elementary/fileviewlist.c | 4 ++-- unsorted/elementary/layout_model_connect.c | 4 ++-- 19 files changed, 56 insertions(+), 57 deletions(-) diff --git a/unsorted/ecore/ecore_audio_custom.c b/unsorted/ecore/ecore_audio_custom.c index abd174b7..b0d26a1e 100644 --- a/unsorted/ecore/ecore_audio_custom.c +++ b/unsorted/ecore/ecore_audio_custom.c @@ -56,9 +56,9 @@ main(int argc, const char *argv[]) ecore_app_args_set(argc, argv); - out = efl_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, efl_main_loop_get()); + out = efl_add_ref(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL); - in = efl_add(ECORE_AUDIO_OBJ_IN_CLASS, efl_main_loop_get()); + in = efl_add_ref(ECORE_AUDIO_OBJ_IN_CLASS, NULL); if (!in) { printf("error when creating ecore audio source.\n"); diff --git a/unsorted/ecore/ecore_audio_playback.c b/unsorted/ecore/ecore_audio_playback.c index 1c322738..c659f09d 100644 --- a/unsorted/ecore/ecore_audio_playback.c +++ b/unsorted/ecore/ecore_audio_playback.c @@ -201,7 +201,7 @@ static void _play_finished(void *data EINA_UNUSED, const Efl_Event *event) inputs = eina_list_remove(inputs, event->object); ret = ecore_audio_obj_out_input_detach(out, event->object); - efl_del(event->object); + efl_unref(event->object); if (!ret) printf("Could not detach input %s\n", name); @@ -252,7 +252,7 @@ main(int argc, const char *argv[]) { if (!strncmp(argv[i], "tone:", 5)) { - in = efl_add(ECORE_AUDIO_OBJ_IN_TONE_CLASS, efl_main_loop_get()); + in = efl_add_ref(ECORE_AUDIO_OBJ_IN_TONE_CLASS, NULL); if (!in) { printf("error when creating ecore audio source.\n"); @@ -276,7 +276,7 @@ main(int argc, const char *argv[]) } else { - in = efl_add(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, efl_main_loop_get()); + in = efl_add_ref(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL); if (!in) { printf("error when creating ecore audio source.\n"); @@ -307,7 +307,7 @@ main(int argc, const char *argv[]) printf("Start: %s (%0.2fs)\n", name, length); - out = efl_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, efl_main_loop_get()); + out = efl_add_ref(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL); ret = ecore_audio_obj_out_input_attach(out, in); if (!ret) printf("Could not attach input %s\n", name); diff --git a/unsorted/ecore/ecore_audio_to_ogg.c b/unsorted/ecore/ecore_audio_to_ogg.c index 63c7f669..756e69a2 100644 --- a/unsorted/ecore/ecore_audio_to_ogg.c +++ b/unsorted/ecore/ecore_audio_to_ogg.c @@ -24,8 +24,8 @@ static void _play_finished(void *data EINA_UNUSED, const Efl_Event *event) printf("Done: %s\n", name); ecore_audio_obj_in_output_get(event->object, &out); - efl_del(event->object); - efl_del(out); + efl_unref(event->object); + efl_unref(out); ecore_main_loop_quit(); @@ -49,31 +49,31 @@ main(int argc, char *argv[]) ecore_audio_init(); - in = efl_add(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, efl_main_loop_get()); + in = efl_add_ref(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL); efl_name_set(in, basename(argv[1])); ret = ecore_audio_obj_source_set(in, argv[1]); if (!ret) { printf("Could not set %s as input\n", argv[1]); - efl_del(in); + efl_unref(in); return 1; } efl_event_callback_add(in, ECORE_AUDIO_EV_IN_STOPPED, _play_finished, NULL); - out = efl_add(ECORE_AUDIO_OBJ_OUT_SNDFILE_CLASS, efl_main_loop_get()); + out = efl_add_ref(ECORE_AUDIO_OBJ_OUT_SNDFILE_CLASS, NULL); ret = ecore_audio_obj_source_set(out, argv[2]); if (!ret) { printf("Could not set %s as output\n", argv[2]); - efl_del(in); - efl_del(out); + efl_unref(in); + efl_unref(out); return 1; } ret = ecore_audio_obj_out_input_attach(out, in); if (!ret) { printf("Could not attach input\n"); - efl_del(out); - efl_del(in); + efl_unref(out); + efl_unref(in); return 1; } diff --git a/unsorted/ecore/ecore_idler_example.c b/unsorted/ecore/ecore_idler_example.c index a88a0029..21852107 100644 --- a/unsorted/ecore/ecore_idler_example.c +++ b/unsorted/ecore/ecore_idler_example.c @@ -110,7 +110,7 @@ main(void) ctxt.enterer = ecore_idle_enterer_add(_enterer_cb, &ctxt); ctxt.exiter = ecore_idle_exiter_add(_exiter_cb, &ctxt); ctxt.idler = ecore_idler_add(_idler_cb, &ctxt); -// ctxt.idler = efl_add(ECORE_IDLER_CLASS, efl_main_loop_get(), ecore_idler_constructor(efl_added, _idler_cb, &ctxt)); +// ctxt.idler = efl_add_ref(ECORE_IDLER_CLASS, NULL, ecore_idler_constructor(efl_added, _idler_cb, &ctxt)); ctxt.handler = ecore_event_handler_add(_event_type, _event_handler_cb, &ctxt); diff --git a/unsorted/ecore/ecore_poller_example.c b/unsorted/ecore/ecore_poller_example.c index 928b9375..3cbbcc5f 100644 --- a/unsorted/ecore/ecore_poller_example.c +++ b/unsorted/ecore/ecore_poller_example.c @@ -48,9 +48,9 @@ main(void) poller2 = ecore_poller_add(ECORE_POLLER_CORE, 8, _poller_print_cb, str2); poller3 = ecore_poller_add(ECORE_POLLER_CORE, 30, _poller_quit_cb, str3); -// poller1 = efl_add(ECORE_POLLER_CLASS, efl_main_loop_get(), // ecore_poller_constructor(efl_added, ECORE_POLLER_CORE, 4, _poller_print_cb, str1)); -// poller2 = efl_add(ECORE_POLLER_CLASS, efl_main_loop_get(), // ecore_poller_constructor(efl_added, ECORE_POLLER_CORE, 8, _poller_print_cb, str2)); -// poller3 = efl_add(ECORE_POLLER_CLASS, efl_main_loop_get(), // ecore_poller_constructor(efl_added, ECORE_POLLER_CORE, 20, _poller_quit_cb, str3)); +// poller1 = efl_add_ref(ECORE_POLLER_CLASS, NULL, // ecore_poller_constructor(efl_added, ECORE_POLLER_CORE, 4, _poller_print_cb, str1)); +// poller2 = efl_add_ref(ECORE_POLLER_CLASS, NULL, // ecore_poller_constructor(efl_added, ECORE_POLLER_CORE, 8, _poller_print_cb, str2)); +// poller3 = efl_add_ref(ECORE_POLLER_CLASS, NULL, // ecore_poller_constructor(efl_added, ECORE_POLLER_CORE, 20, _poller_quit_cb, str3)); ecore_main_loop_begin(); @@ -61,9 +61,9 @@ main(void) // ecore_poller_interval_set(poller2, 16, NULL); ecore_main_loop_begin(); -// efl_del(poller1); -// efl_del(poller2); -// efl_del(poller3); +// efl_unref(poller1); +// efl_unref(poller2); +// efl_unref(poller3); ecore_poller_del(poller1); ecore_poller_del(poller2); ecore_poller_del(poller3); diff --git a/unsorted/ecore/efl_io_copier_example.c b/unsorted/ecore/efl_io_copier_example.c index a07b7918..b7e526bd 100644 --- a/unsorted/ecore/efl_io_copier_example.c +++ b/unsorted/ecore/efl_io_copier_example.c @@ -452,7 +452,7 @@ efl_main(void *data EINA_UNUSED, if (strcmp(input_fname, ":stdin:") == 0) { - input = efl_add(EFL_IO_STDIN_CLASS, ev->object, + input = efl_add_ref(EFL_IO_STDIN_CLASS, NULL, efl_event_callback_array_add(efl_added, input_cbs(), NULL)); if (!input) { @@ -662,7 +662,7 @@ efl_main(void *data EINA_UNUSED, else { /* regular file, open with flags: read-only and close-on-exec */ - input = efl_add(EFL_IO_FILE_CLASS, ev->object, + input = efl_add_ref(EFL_IO_FILE_CLASS, NULL, efl_file_set(efl_added, input_fname, NULL), /* mandatory */ efl_io_file_flags_set(efl_added, O_RDONLY), /* default */ efl_io_closer_close_on_exec_set(efl_added, EINA_TRUE), /* recommended, set *after* flags, or include O_CLOEXEC in flags -- be careful with _WIN32 that doesn't support it. */ @@ -679,7 +679,7 @@ efl_main(void *data EINA_UNUSED, if (strcmp(output_fname, ":stdout:") == 0) { - output = efl_add(EFL_IO_STDOUT_CLASS, ev->object, + output = efl_add_ref(EFL_IO_STDOUT_CLASS, NULL, efl_event_callback_array_add(efl_added, output_cbs(), NULL) /* optional */ ); if (!output) @@ -691,7 +691,7 @@ efl_main(void *data EINA_UNUSED, } else if (strcmp(output_fname, ":stderr:") == 0) { - output = efl_add(EFL_IO_STDERR_CLASS, ev->object, + output = efl_add_ref(EFL_IO_STDERR_CLASS, NULL, efl_event_callback_array_add(efl_added, output_cbs(), NULL) /* optional */ ); if (!output) @@ -718,7 +718,7 @@ efl_main(void *data EINA_UNUSED, * When finished get the efl_io_buffer_slice_get(), see * _copier_done(). */ - output = efl_add(EFL_IO_BUFFER_CLASS, ev->object, + output = efl_add_ref(EFL_IO_BUFFER_CLASS, NULL, efl_event_callback_array_add(efl_added, output_cbs(), NULL), /* optional */ efl_event_callback_array_add(efl_added, output_buffer_cbs(), NULL) /* optional */ ); @@ -938,7 +938,7 @@ efl_main(void *data EINA_UNUSED, /* regular file, open with flags: write-only, close-on-exec, * create if did not exist and truncate if exist. */ - output = efl_add(EFL_IO_FILE_CLASS, ev->object, + output = efl_add_ref(EFL_IO_FILE_CLASS, NULL, efl_file_set(efl_added, output_fname, NULL), /* mandatory */ efl_io_file_flags_set(efl_added, O_WRONLY | O_CREAT | O_TRUNC), /* mandatory for write */ efl_io_closer_close_on_exec_set(efl_added, EINA_TRUE), /* recommended, set *after* flags, or include O_CLOEXEC in flags -- be careful with _WIN32 that doesn't support it. */ diff --git a/unsorted/ecore/efl_io_queue_example.c b/unsorted/ecore/efl_io_queue_example.c index 1abd3b71..93677167 100644 --- a/unsorted/ecore/efl_io_queue_example.c +++ b/unsorted/ecore/efl_io_queue_example.c @@ -258,7 +258,7 @@ efl_main(void *data EINA_UNUSED, * the line_delimiter, then wait for a reply from the server, then * write another. */ - send_queue = efl_add(EFL_IO_QUEUE_CLASS, ev->object, + send_queue = efl_add_ref(EFL_IO_QUEUE_CLASS, NULL, efl_name_set(efl_added, "send_queue"), efl_io_queue_limit_set(efl_added, buffer_limit)); if (!send_queue) @@ -279,7 +279,7 @@ efl_main(void *data EINA_UNUSED, * Our example's usage is to peek its data with slice_get() then * clear(). */ - receive_queue = efl_add(EFL_IO_QUEUE_CLASS, ev->object, + receive_queue = efl_add_ref(EFL_IO_QUEUE_CLASS, NULL, efl_name_set(efl_added, "receive_queue"), efl_io_queue_limit_set(efl_added, buffer_limit), efl_event_callback_add(efl_added, EFL_IO_QUEUE_EVENT_SLICE_CHANGED, _receiver_data, NULL)); @@ -359,9 +359,9 @@ efl_main(void *data EINA_UNUSED, error_sender: efl_del(dialer); error_dialer: - efl_del(receive_queue); + efl_unref(receive_queue); error_receive_queue: - efl_del(send_queue); + efl_unref(send_queue); end: EINA_LIST_FREE(commands, cmd) { diff --git a/unsorted/ecore/efl_net_server_example.c b/unsorted/ecore/efl_net_server_example.c index 29a4b965..25188b31 100644 --- a/unsorted/ecore/efl_net_server_example.c +++ b/unsorted/ecore/efl_net_server_example.c @@ -350,11 +350,11 @@ _server_client_add(void *data EINA_UNUSED, const Efl_Event *event) return; } - send_buffer = efl_add(EFL_IO_BUFFER_CLASS, efl_main_loop_get(), + send_buffer = efl_add_ref(EFL_IO_BUFFER_CLASS, NULL, efl_io_buffer_adopt_readonly(efl_added, hello_world_slice)); /* Unlimited buffer to store the received data. */ - recv_buffer = efl_add(EFL_IO_BUFFER_CLASS, efl_main_loop_get()); + recv_buffer = efl_add_ref(EFL_IO_BUFFER_CLASS, NULL); /* an input copier that takes data from send_buffer and pushes to client */ d->send_copier = efl_add(EFL_IO_COPIER_CLASS, efl_parent_get(client), @@ -712,7 +712,7 @@ efl_main(void *data EINA_UNUSED, cipher = EFL_NET_SSL_CIPHER_TLSV1_2; } - ssl_ctx = efl_add(EFL_NET_SSL_CONTEXT_CLASS, efl_main_loop_get(), + ssl_ctx = efl_add_ref(EFL_NET_SSL_CONTEXT_CLASS, NULL, efl_net_ssl_context_certificates_set(efl_added, eina_list_iterator_new(certificates)), efl_net_ssl_context_private_keys_set(efl_added, eina_list_iterator_new(private_keys)), efl_net_ssl_context_certificate_revocation_lists_set(efl_added, eina_list_iterator_new(crls)), diff --git a/unsorted/ecore/efl_net_server_simple_example.c b/unsorted/ecore/efl_net_server_simple_example.c index beb314b2..998ad66c 100644 --- a/unsorted/ecore/efl_net_server_simple_example.c +++ b/unsorted/ecore/efl_net_server_simple_example.c @@ -520,7 +520,7 @@ efl_main(void *data EINA_UNUSED, cipher = EFL_NET_SSL_CIPHER_TLSV1_2; } - ssl_ctx = efl_add(EFL_NET_SSL_CONTEXT_CLASS, ev->object, + ssl_ctx = efl_add_ref(EFL_NET_SSL_CONTEXT_CLASS, NULL, efl_net_ssl_context_certificates_set(efl_added, eina_list_iterator_new(certificates)), efl_net_ssl_context_private_keys_set(efl_added, eina_list_iterator_new(private_keys)), efl_net_ssl_context_certificate_revocation_lists_set(efl_added, eina_list_iterator_new(crls)), diff --git a/unsorted/ecore/efl_net_socket_ssl_dialer_example.c b/unsorted/ecore/efl_net_socket_ssl_dialer_example.c index e3579b47..75acb0b4 100644 --- a/unsorted/ecore/efl_net_socket_ssl_dialer_example.c +++ b/unsorted/ecore/efl_net_socket_ssl_dialer_example.c @@ -311,7 +311,7 @@ efl_terminate(void *data EINA_UNUSED, efl_del(dialer); dialer = NULL; - efl_del(ssl_ctx); + efl_unref(ssl_ctx); ssl_ctx = NULL; EINA_LIST_FREE(pending_send, str) free(str); @@ -456,7 +456,7 @@ efl_main(void *data EINA_UNUSED, /* create a new SSL context with command line configurations. * another option would be to use the default dialer context */ #ifndef USE_DEFAULT_CONTEXT - ssl_ctx = efl_add(EFL_NET_SSL_CONTEXT_CLASS, ev->object, + ssl_ctx = efl_add_ref(EFL_NET_SSL_CONTEXT_CLASS, NULL, efl_net_ssl_context_certificates_set(efl_added, eina_list_iterator_new(certificates)), efl_net_ssl_context_private_keys_set(efl_added, eina_list_iterator_new(private_keys)), efl_net_ssl_context_certificate_revocation_lists_set(efl_added, eina_list_iterator_new(crls)), @@ -528,7 +528,7 @@ efl_main(void *data EINA_UNUSED, efl_io_closer_close(dialer); /* just del won't do as ssl has an extra ref */ efl_del(dialer); no_ssl_ctx: - efl_del(ssl_ctx); + efl_unref(ssl_ctx); end: EINA_LIST_FREE(pending_send, str) free(str); diff --git a/unsorted/ecore/efl_net_socket_ssl_server_example.c b/unsorted/ecore/efl_net_socket_ssl_server_example.c index 4b9171e4..38e93b6d 100644 --- a/unsorted/ecore/efl_net_socket_ssl_server_example.c +++ b/unsorted/ecore/efl_net_socket_ssl_server_example.c @@ -227,7 +227,7 @@ efl_terminate(void *data EINA_UNUSED, efl_del(server); server = NULL; - efl_del(ssl_ctx); + efl_unref(ssl_ctx); ssl_ctx = NULL; EINA_LIST_FREE(certificates, str) free(str); @@ -301,7 +301,7 @@ efl_main(void *data EINA_UNUSED, cipher = EFL_NET_SSL_CIPHER_TLSV1_2; } - ssl_ctx = efl_add(EFL_NET_SSL_CONTEXT_CLASS, ev->object, + ssl_ctx = efl_add_ref(EFL_NET_SSL_CONTEXT_CLASS, NULL, efl_net_ssl_context_certificates_set(efl_added, eina_list_iterator_new(certificates)), efl_net_ssl_context_private_keys_set(efl_added, eina_list_iterator_new(private_keys)), efl_net_ssl_context_certificate_revocation_lists_set(efl_added, eina_list_iterator_new(crls)), @@ -363,7 +363,7 @@ efl_main(void *data EINA_UNUSED, efl_del(server); server = NULL; end_ctx: - efl_del(ssl_ctx); + efl_unref(ssl_ctx); end: EINA_LIST_FREE(certificates, str) free(str); diff --git a/unsorted/eio/eio_sentry.c b/unsorted/eio/eio_sentry.c index f6b3e8ac..e604e890 100644 --- a/unsorted/eio/eio_sentry.c +++ b/unsorted/eio/eio_sentry.c @@ -27,7 +27,7 @@ void monitor_stuff(void *data) { const char *path = data; - Eio_Sentry *sentry = efl_add(EIO_SENTRY_CLASS, efl_main_loop_get()); + Eio_Sentry *sentry = efl_add_ref(EIO_SENTRY_CLASS, NULL); efl_event_callback_add(sentry, EIO_SENTRY_EVENT_FILE_CREATED, (Efl_Event_Cb)&sentry_cb, NULL); printf("Starting monitoring path %s\n", path); diff --git a/unsorted/elementary/efl_ui_scroller_example.c b/unsorted/elementary/efl_ui_scroller_example.c index 99a7a552..4de4d216 100644 --- a/unsorted/elementary/efl_ui_scroller_example.c +++ b/unsorted/elementary/efl_ui_scroller_example.c @@ -15,8 +15,8 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev) elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_app_info_set(efl_main, "elementary", "images/plant_01.jpg"); - win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), "TEST", ELM_WIN_BASIC, - efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, "TEST", ELM_WIN_BASIC, + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 400)); scroller = efl_add(EFL_UI_SCROLLER_CLASS, win); diff --git a/unsorted/elementary/efl_ui_view_list_example_1.c b/unsorted/elementary/efl_ui_view_list_example_1.c index 5e86875f..529d44cc 100644 --- a/unsorted/elementary/efl_ui_view_list_example_1.c +++ b/unsorted/elementary/efl_ui_view_list_example_1.c @@ -49,7 +49,7 @@ _make_model() unsigned int i, s; char buf[256]; - model = efl_add(EFL_MODEL_ITEM_CLASS, efl_main_loop_get()); + model = efl_add_ref(EFL_MODEL_ITEM_CLASS, NULL); eina_value_setup(&vtext, EINA_VALUE_TYPE_STRING); for (i = 0; i < (NUM_ITEMS); i++) diff --git a/unsorted/elementary/efl_ui_view_list_example_2.c b/unsorted/elementary/efl_ui_view_list_example_2.c index 7b5ef4c4..641d0a63 100644 --- a/unsorted/elementary/efl_ui_view_list_example_2.c +++ b/unsorted/elementary/efl_ui_view_list_example_2.c @@ -43,7 +43,7 @@ elm_main(int argc, char **argv) if (argv[1] != NULL) dirname = argv[1]; else dirname = EFL_MODEL_TEST_FILENAME_PATH; - model = efl_add(EIO_MODEL_CLASS, efl_main_loop_get(), eio_model_path_set(efl_added, dirname)); + model = efl_add_ref(EIO_MODEL_CLASS, NULL, eio_model_path_set(efl_added, dirname)); factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win); efl_ui_model_connect(factory, "efl.text", "filename"); efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default"); diff --git a/unsorted/elementary/efl_ui_view_list_example_3.c b/unsorted/elementary/efl_ui_view_list_example_3.c index 9e7507fc..ece4e9ce 100644 --- a/unsorted/elementary/efl_ui_view_list_example_3.c +++ b/unsorted/elementary/efl_ui_view_list_example_3.c @@ -173,7 +173,7 @@ _make_model() Efl_Model_Item *model, *child; unsigned int i, len; - model = efl_add(EFL_MODEL_ITEM_CLASS, efl_main_loop_get()); + model = efl_add_ref(EFL_MODEL_ITEM_CLASS, NULL); eina_value_setup(&vtext, EINA_VALUE_TYPE_STRING); eina_value_setup(&value, EINA_VALUE_TYPE_UCHAR); diff --git a/unsorted/elementary/filemvc.c b/unsorted/elementary/filemvc.c index 2b1e81d1..6935e938 100644 --- a/unsorted/elementary/filemvc.c +++ b/unsorted/elementary/filemvc.c @@ -35,7 +35,6 @@ _cleanup_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_unref(priv->fileview); efl_unref(priv->treeview); efl_unref(priv->formview); - efl_unref(priv->treemodel); } static int @@ -125,12 +124,12 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) else dirname = EFL_MODEL_TEST_FILENAME_PATH; //treemodel - priv.treemodel = efl_add(EIO_MODEL_CLASS, efl_main_loop_get(), eio_model_path_set(efl_added, dirname)); + priv.treemodel = efl_add(EIO_MODEL_CLASS, win, eio_model_path_set(efl_added, dirname)); eio_model_children_filter_set(priv.treemodel, NULL, _filter_cb, NULL); //treeview genlist = elm_genlist_add(win); - priv.treeview = efl_add(ELM_VIEW_LIST_CLASS, efl_main_loop_get(), elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_TREE, NULL)); + priv.treeview = efl_add_ref(ELM_VIEW_LIST_CLASS, NULL, elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_TREE, NULL)); elm_view_list_property_connect(priv.treeview, "filename", "elm.text"); elm_view_list_property_connect(priv.treeview, "icon", "elm.swallow.icon"); elm_view_list_model_set(priv.treeview, priv.treemodel); @@ -145,7 +144,7 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) //listview genlist = elm_genlist_add(win); - priv.fileview = efl_add(ELM_VIEW_LIST_CLASS, efl_main_loop_get(), elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_NONE, "double_label")); + priv.fileview = efl_add_ref(ELM_VIEW_LIST_CLASS, NULL, elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_NONE, "double_label")); elm_view_list_property_connect(priv.fileview, "filename", "elm.text"); elm_view_list_property_connect(priv.fileview, "mime_type", "elm.text.sub"); @@ -159,7 +158,7 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) bxr = elm_box_add(win); _widget_init(bxr); elm_object_part_content_set(vpanes, "right", bxr); - priv.formview = efl_add(ELM_VIEW_FORM_CLASS, efl_main_loop_get()); + priv.formview = efl_add_ref(ELM_VIEW_FORM_CLASS, NULL); /*Label widget */ elm_view_form_widget_add(priv.formview, "filename", _label_init(win, bxr, "File Name")); diff --git a/unsorted/elementary/fileviewlist.c b/unsorted/elementary/fileviewlist.c index d36295f0..39df4f87 100644 --- a/unsorted/elementary/fileviewlist.c +++ b/unsorted/elementary/fileviewlist.c @@ -54,8 +54,8 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(genlist); - priv.filemodel = efl_add(EIO_MODEL_CLASS, efl_main_loop_get(), eio_model_path_set(efl_added, dirname)); - priv.fileview = efl_add(ELM_VIEW_LIST_CLASS, efl_main_loop_get(), elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_TREE, "double_label")); + priv.filemodel = efl_add_ref(EIO_MODEL_CLASS, NULL, eio_model_path_set(efl_added, dirname)); + priv.fileview = efl_add_ref(ELM_VIEW_LIST_CLASS, NULL, elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_TREE, "double_label")); elm_view_list_model_set(priv.fileview, priv.filemodel); evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, &priv); diff --git a/unsorted/elementary/layout_model_connect.c b/unsorted/elementary/layout_model_connect.c index 7021a2cc..e93b3443 100644 --- a/unsorted/elementary/layout_model_connect.c +++ b/unsorted/elementary/layout_model_connect.c @@ -111,10 +111,10 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) if (argv[1] != NULL) dirname = argv[1]; else dirname = EFL_MODEL_TEST_FILENAME_PATH; - priv->model = efl_add(EIO_MODEL_CLASS, efl_main_loop_get(), eio_model_path_set(efl_added, dirname)); + priv->model = efl_add_ref(EIO_MODEL_CLASS, NULL, eio_model_path_set(efl_added, dirname)); genlist = elm_genlist_add(win); - priv->fileview = efl_add(ELM_VIEW_LIST_CLASS, efl_main_loop_get(), elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_NONE, NULL)); + priv->fileview = efl_add_ref(ELM_VIEW_LIST_CLASS, NULL, elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_NONE, NULL)); elm_view_list_property_connect(priv->fileview, "filename", "elm.text"); elm_view_list_model_set(priv->fileview, priv->model); _widget_init(genlist);