* remove xwin for container canvas: now drawn directly on the compositor canvas
* added SHAPE_DEBUG define for bored developers
* bindings now use new e struct for mouse/wheel events
* container+zone now get mouse events from smart callbacks instead of x events
* rename comp api namespace
* change comp underlay theme to have a swallow for the wallpaper
* add names to all zone/container/comp objects to make debugging much easier
* some minor related updates to go along with this
SVN revision: 83752
here is a patch.
1. free() already null-checks the passed argument, so it is not
necessary to do 'if(x) free(x)'.
2. Moved some '{free(x); x = NULL}' to E_FREE.
3. In e_start_main.c, 'buf' is allocated with the size of the
two arguments + '=', so we don't need to check for lenght;
we should use sprintf().
thanks
Maxime Villard
SVN revision: 81364
As I've said before, I'm attached a patch for minor bugs in the e17 again.
Please take a look at attached patch.
01. missing E_FREE(wev) if zone is null
File: src/bin/e_actions.c: 1467
Function: ACT_FN_GO_EDGE macro function
null check of zone and wev, it would be better to separate them.
02. dead code
File: src/bin/e_configure.c: 338
Function: _e_configure_efreet_desktop_update
03. array buf might be overwritten by "buf[i] = '\0'"
File: src/bin/e_eap_editor.c: 412
Function: _e_desktop_edit_user_local_desktop_filename_generate
04. missing null check
File: src/bin/e_fm.c
Function: e_fm2_icon_get: 2196
It would be better to check ic->info.file in e_fm2_icon_get
before passing to _e_fm2_file_is_edje because it doesn't check
null pointer.
05. array 'path' might be overwritten by "path[i + 1] = XXX"
File: src/bin/e_fm.c: 4299
Function: _e_fm2_uri_parse
06. missing null check
File: src/bin/e_fm_device.c: 468
Function: e_fm2_device_mount_find
If the null pointer is passed to e_fm2_device_mount_find,
then it attempt to compare string using strncmp without null
check.
e.g., e_fm2_path_set
-> real_path = _e_fm2_dev_path_map: this function could return null.
-> sd->realpath = real_path;
-> e_fm2_device_mount_find(sd->realpath)
07. missing free(fstrip)
File: src/bin/e_import_config_dialog.c: 34
Function: _import_edj_gen
08. missing _module_free(cfm)
File: src/bin/e_int_config_modules.c: 530
Function: _load_modules
09. missing free(class) in for loop
File: src/bin/e_int_menus.c: 1187
Function: _e_int_menus_clients_add_by_class
10. missing free(roots)
File: src/bin/e_main.c: 1646
Function: _e_main_screens_init
Actually only e_win_init function could return 0.
But I've added free to other codes for the consistency.
11. missing null check of 'es->cfg'
File: src/bin/e_shelf.c: 2583
Function: _e_shelf_bindings_add
'es->cfg' might be null. please look at e_shelf_position_calc.
12. no ect->category check before comparing string values
File: src/bin/e_theme.c: 387
Function: e_theme_config_remove
I'm not sure, but inner if block checks ect->category before
deleting a string.
13. missing E_FREE(wcb) in while loop
File: src/bin/e_widget_ilist.c: 146
Function: _queue_timer
14. dereferencing freed pointer 'entry'
File: src/modules/quickaccess/e_mod_quickaccess.c: 583
Function: _e_qa_event_border_remove_cb
15. missing E_FREE(trov)
File: src/modules/tiling/e_mod_tiling.c: 3106
Function: _do_transition_overlay
Thanks & Regards,
Gwanglim
SVN revision: 80231
I'm attaching a patch for some minor bugs in the e17.
Please take a look at attached patch.
01. missing E_FREE(inst)
File: src/bin/e_exec.c: 347
Function: _e_exec_cb_exec
02. missing null check
File: src/bin/e_fm.c: 10173
Function: _e_fm_error_dialog
I'm not sure, but all other codes always check the return
value of e_fm2_op_registry_entry_get except here.
03. missing free(slave)
File: src/bin/e_fm_ipc.c: 804
Function: _e_fm_ipc_slave_run
04. eina_list_remove after free
File: src/bin/e_fm/e_fm_ipc.c :1325
Function: _e_fm_ipc_cb_fop_trash_idler
05. invalid check for _udisks_del, it might be _udisks_chg.
File: src/bin/e_fm/e_fm_main_udisks.c : 162
Function: _e_fm_main_udisks_test
06. uninitialized gx and gy values
File: src/bin/e_gadcon_popup.c: 172
Function: _e_gadcon_popup_position
These could be changed in e_gadcon_client_geometry_get
if gcc->o_base is null.
07. unnecessary code 'evas = e_win_evas_get(dia->win)'
File: src/bin/e_import_config_dialog.c: 456
Function: e_import_config_dialog_show
08. missing free(sizes)
src/bin/e_randr_11_serialization.c: 136
Function: _11_try_restore_configuration()
09. unnecessary variable output_info
File: src/bin/e_randr_12.c: 560
Function: _output_property_change_event_cb
10. eina_list_remove after free
File: src/bin/e_randr_12_serialization.c : 357
Function: _12_serialized_setup_update
11. no check of the return value of symlink.
File: src/bin/e_widget_fsel.c: 84
Function: _e_wid_fsel_favorites_add
12. no evr->var check before comparing string values
File: src/modules/conf_applications/e_int_config_defapps.c: 432
Function: _basic_apply
13. missing error message or check return value of edje_file_group_exists
File: src/modules/conf_theme/e_int_config_theme.c: 333
Function: _open_test_cb
Anyway, I've added e_util_dialog_show if failed. Is it okay?
14. missing index range check
File: src/modules/gadman/e_mod_config.c: 153
Function: _cb_config
It could read negative array index, because return value of
e_widget_ilist_selected_get might be negative.
BR,
Gwanglim
SVN revision: 80020