Commit Graph

113 Commits

Author SHA1 Message Date
Mike Blumenkrantz ce6f252317 remove multihead env var setting in e_exec
multihead no longer possible, no point in keeping this

CID 1039793
2016-02-29 10:43:02 -05:00
Carsten Haitzler f88ed7c7fb e exec - fix missing ref and unref for instance event
this fixes a crash on shutdown when freeing up stuff because an exec
instance wasnt ref++'d and ref--'d when adding an event on the event
queue that pointed to it.

@fix
2015-12-07 19:52:48 +09:00
Carsten Haitzler f40e664ec5 e exec tracker - fix tracking to update desktop files on efreet change
efreet will send change events meaning out desktop file icons are
invalid now. we have refs but content is junk. update these to new
desktop ptr handles by using the exec key to look up new ones on the
change event. this fixes ibar gainign a bunch of blank unknown icons
when any desktop files are touched on the system or user dirs

@fix
2015-11-02 12:28:27 +09:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Carsten Haitzler 6b64e40122 e - e client, comp win etc. reffing fix ... part 2
this follows 56cabf59c6 then
4e5521b4d8 where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
2015-06-15 20:27:25 +09:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz c727545bb2 remove E_Comp->num
num is always 0
2015-03-20 14:59:19 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz ba7c1ac49c remove E_Zone->comp member 2015-03-13 17:44:24 -04:00
Mike Blumenkrantz 3fc96af2dd Revert "revert all the ui breakes in e - going the wrong direction in the"
This reverts commit 3ea6a3569d.
2015-01-15 03:04:42 -05:00
Carsten Haitzler 3ea6a3569d revert all the ui breakes in e - going the wrong direction in the
first place anyway. shoudl replace the entire dialgo one at a time by
an elm version not try and stuff elm widgets into where e widgets used
to be. this doesnt improve e's config dialogs, just makes them buggy
as all hell in the name of a move to elm.

Revert "e_widget_button -> elm_button conversion"
This reverts commit b1c976d80d.

Revert "update widget size hints when setting a resize object"
This reverts commit fdab0218b2.

Revert "remove no-longer-necessary size hinting in list widgets"
This reverts commit 21479f5019.

Revert "e_widget_textblock -> elm_entry conversion"
This reverts commit 8fe2f00f75.

Revert "e frame -> elm_frame conversion"
This reverts commit e9da6a02fc.

Revert "remove unnecessary size hinting"
This reverts commit b596623efd.

Revert "e_label -> elm_label conversion"
This reverts commit 049b318679.

Revert "set evas size hint min in widget min size"
This reverts commit 2f09aa2fda.

Revert "e_table -> elm_table conversion"
This reverts commit 6434012982.

Revert "remove unused vars"
This reverts commit b19e706b23.
2015-01-15 12:13:53 +09:00
Mike Blumenkrantz 6434012982 e_table -> elm_table conversion
if rebases were monopoly money, this commit would be able to buy mediterranean ave.

 #teamborker
2015-01-13 22:44:55 -05:00
Mike Blumenkrantz 922af2c52f remove e_comp_list(), deprecate all related functions for pending removal
there is only one E_Comp which can now be accessed by the e_comp global.

if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable

pass -Wno-deprecated-declarations to ignore these warnings during build
2015-01-05 15:39:15 -05:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Carsten Haitzler fc7d300e62 fix 2 ecore_exe magic complaints - inst->exe is garbage.
this is only the case when the inst is a phony - so filter these out
2014-07-01 17:29:01 +09:00
Mike Blumenkrantz 8b227c33b7 Revert "e_exec - after an instance has its exe deleted - set exe to NULL"
This reverts commit 89fdebb9bf.

CID 1132151
2014-03-13 10:40:11 -04:00
Mike Blumenkrantz 1b7b765ee4 bugfix: race condition when deleting clients and their e_exec
this occurred occasionally when a client was the last one on a phony exe
2014-02-05 20:52:55 -05:00
Mike Blumenkrantz d65ef1412f try grouping phony execs together
this saves a little memory and also makes related eventing more useful
2014-01-17 19:02:56 -05:00
Mike Blumenkrantz 6bc7662459 add e_exec instances for wl clients if they set surface class: works for terminology
creating phony e_exec instances based on name/class allows wayland clients to show up normally in ibar
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Carsten Haitzler 89fdebb9bf e_exec - after an instance has its exe deleted - set exe to NULL 2013-11-18 23:35:12 +09:00
Daniel Zaoui 2cdead8184 e_exec: fix application closing process.
This is a fix to a bug that was happening on my laptop with libreoffice.
When this last one was closed, a segfault was occurring. This was due to
the use of a freed data structure. A pointer to this structure
(instance) was still stored as data of the Ecore_Exe structure.
Now, when the instance is freed, the data of the Ecore_Exe is set to
NULL.
2013-11-04 15:19:00 +02:00
Mike Blumenkrantz fa7744b4de fix ibar client menu to track multiple windows per exe 2013-07-26 14:42:48 +01:00
Carsten Haitzler 02a71ca145 store startup id in exehist as e restart was not self-exec as of e17 2013-07-15 11:25:14 +09:00
Mike Blumenkrantz 9721885ce4 if an e_exec instance gets an exit event, but is a phony exec, block the event 2013-06-21 14:37:46 +01:00
Mike Blumenkrantz 998835bca0 set startup_id in phony e_execs 2013-06-21 14:37:46 +01:00
Mike Blumenkrantz d2b7895f3d make e_exec work for desktops when orig_path is not present but name is 2013-06-18 15:44:57 +01:00
Mike Blumenkrantz dec3ed65ed add e_exec_instances_get 2013-06-18 15:44:57 +01:00
Mike Blumenkrantz 720303b53b add E_EVENT_EXEC_NEW and E_EVENT_EXEC_DEL, also prevent deleted exec watchers from being called repeatedly 2013-06-18 15:44:37 +01:00
Mike Blumenkrantz e9516c7242 escape link url when opening .desktop links 2013-06-14 14:41:37 +01:00
Mike Blumenkrantz ca798e4d05 fix e_exec to successfully open .desktop files which are URLs by using e_open 2013-05-29 15:04:46 +01:00
discomfitor 12944d7afe add e_exec_phony to create fake e_exec instances on e restart 2013-05-18 19:39:51 +01:00
discomfitor 29be7a23ba delete e_exec expire timers when the instance is found... 2013-05-18 19:39:51 +01:00
discomfitor a7148b558f e_exec_desktop_instances_find 2013-05-18 19:39:51 +01:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Mike Blumenkrantz 799e6b5a5e it seems that this variable in e_exec does not actually need to be strdup()ed, and thus does not need to leak...
SVN revision: 80923
2012-12-14 09:13:07 +00:00
Mike Blumenkrantz 31b66a272e improper E_FREE usage
SVN revision: 80922
2012-12-14 09:07:57 +00:00
Mike Blumenkrantz 52ca7afc9a fix leak in e_exec when DISPLAY is too long
SVN revision: 80817
2012-12-13 11:03:13 +00:00
Mike Blumenkrantz 59aa402a46 fix wrong E_FREE usage
SVN revision: 80816
2012-12-13 11:02:36 +00:00
Mike Blumenkrantz 82b4efa5e4 in the event that an ecore_exe is not passed with the exit cb, check the pid list
SVN revision: 80450
2012-12-07 13:28:17 +00:00
Mike Blumenkrantz 17ef5ee535 fix e_exec crash
SVN revision: 80171
2012-12-04 14:50:16 +00:00
Mike Blumenkrantz 5980697b20 delete from hash by key
SVN revision: 80170
2012-12-04 14:49:49 +00:00
Mike Blumenkrantz 362531b082 Dear all,
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
2012-12-03 07:54:07 +00:00
Mike Blumenkrantz b8677593fc remove all LD_LIBRARY_PATH shenanigans from e17
ticket #1542


SVN revision: 77735
2012-10-10 09:27:24 +00:00
Sebastian Dransfeld 80b0b615b8 e: Cleanup
Fixes potential invalid memory reads.

Patch by Igor Murzov

SVN revision: 77491
2012-10-04 23:27:01 +00:00
Carsten Haitzler ec80ac1802 add executor indirection setter.
SVN revision: 76795
2012-09-18 10:10:19 +00:00
Carsten Haitzler e574adfed7 add single-instance launching infra support for e17 as well as launch
tracking for ibar.



SVN revision: 76793
2012-09-18 10:00:37 +00:00
Mike Blumenkrantz c60be515e8 fix e_exec crash
ticket #1525


SVN revision: 76778
2012-09-18 04:36:01 +00:00
Carsten Haitzler 7a59e58273 add support for X-Enlightenment-Single-Instance :)
SVN revision: 76756
2012-09-17 11:51:04 +00:00
Cedric BAIL 4de7c065af e: remove potential buffer overflow and make it more efficient.
Patch started by Maxime Villard (rustyBSD).


SVN revision: 75812
2012-08-29 07:14:05 +00:00