* border frame/object now drawn directly on compositor canvas
* border shadows now in border theme with edje hint, non-updated themes still receive comp object shadows FOR NOW
* e_border MOVE/RESIZE pointer mode defines are now e_pointer.h enums
* added BD_CHANGED() util macro for setting bd->changed and printing a debug line to assist in finding places where this all-important flag is wrongly set
* bd->bg_win removed entirely
* bd->pointer objects moved to compositor object; now only one pointer object exists for each compositor
* resizing windows now shows a new and totally-intended scaling effect for window contents
* some additional retooling of border deletion/free callbacks
* fixed lurking potential bug where window could recieve focus from autoraise timer after border had been deleted
* more comp shape improvements/rewrites
* desk transitions are now BROKEN(ish)
* various modules updated to not be totally broken with these changes
* added a number of new e_comp functions and macros
* options for disabling effects on objects: this option does not currently have any effect
* all modules which used gadcon popups have been adjusted
* all modules which used input windows to detect close events for gadcon popups have been adjusted to use new popup autoclose functionality
* shelves are now always drawn on the compositor canvas, meaning objects will never get clipped by the shelf (ticket #1810)
* shelves no longer have an event object
SVN revision: 84060
* 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
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
also the related gcc param in gadget_del can now have a NULL config to signify that the gadget has been moved to a new gadcon
this means that moving a gadget to a new location will no longer cause it to lose its gadget config
ticket #1594
SVN revision: 77521
It seems people put random numbers as layers, so it is better to define
available layer numbers.
This patch also puts popups below fullscreen windows, as it sucks to get
popups during presentations. A better solution is maybe to put popups
above fullscreen, but have a presentation mode to put fullscreen windows
above popups?
SVN revision: 77293
this also breaks the use of e,state,focused programs on non-autohiding shelves, but nothing I'm aware of has ever used this, sooooooo :)
also probably fixes ticket #1467
SVN revision: 76320