NB: Each different build (x11/wl-only) had various unused variables.
This is a squash of the commits to fix all that.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Move parent->modal setting from the shell module to the compositor.
Support setting of various window types (dialogs, menus, etc).
Handle setting of internal properties (min size, max size, etc).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Don't try to ping clients that we are forceably killing.
Implement e_grabinput calls during focus_set.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Ungrab mouse & wheel bindings when we delete the client.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
remove client stacking code (apparently handled in e_client already)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When the client resized, it need to resize tilers for surface region also.
Reviewers: devilhorns, zmike, raster, gwanglim
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1020
Summary: E_Comp_Wl_Buffer's busy value should be updated after initialization as zero.
Reviewers: devilhorns, zmike, raster
Reviewed By: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1011
Summary:
since the data as a key of hash is 64bit integers, clients_win_hash should be created to int64.
if not, loss of data can occur when add or delete data from hash table.
Test Plan:
(1) run any application. (added ec to hash table)
(2) close the application. (try to delete ec from hash table, but couldn't)
(3) after that, if _e_comp_wl_cb_render_post is called, since refer to ec which was already freed, enlightenment had been crashed.
Reviewers: devilhorns, zmike, raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1006
Add code to hold references to 'buffers'.
- Release 'buffers' After they have been rendered by the compositor.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
remove memcpy of wl_buffer data.
NB: This Is REALLY not needed in ANY compositor !!!
NB: This DOES cause lots of current Failures within the existing X Compositor ... ie: Wayland Clients inside X do NOT work at this point :(
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- post a wl_buffer release After rendering is completed.
- change code to follow compositor structure name
- when creating compositor (inside X), set input keymap
- don't set "reparent" for all new clients
Signed-off-by: Chris Michael <cp.michael@samsung.com>
update compositor structure for ability to run X and Wayland Clients.
update wayland compositor data & input file(s) for data structure rename.
NB: Both the X compositor and the Wayland compositor have different
"client data" to store, so e_client structure needs different fields
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- reduce variable usage for non-x
- remove need to memcpy wayland buffer image data
- add function for setting pixmap buffer resource
- add shm_buffer access calls around getting wl_buffer data
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Additional authors: zmike
* if unplaced, place centered on transient-for on initial placement
rather that screen centered
* if transient.move and transient.resize options follow options are on
make transients floow as intended
Summary:
There were a few crash cases during drag and drop.
- move file in Desktop using efm,
- move file in same directory using differnt efm
The root cause is icon finding logic. efm finds icons based on URI string.
But, the found icon could be different with selected one since there could be multiple efm in same directory.
Therefore, this patch filter out icon which is not selected icon.
Fixes T1364
Test Plan:
case 1. open efm -> goto desktop -> move file from ~/Desktop to ~/Desktop/folder
case 2. open two efm -> goto same directory in two efm -> move file to {currentdirectory}/folder in any efm
Reviewers: raster, zmike
Subscribers: cedric, seoz
Maniphest Tasks: T1364
Differential Revision: https://phab.enlightenment.org/D1331
Summary:
add check new_gcc into the gadman's gadget add handler to prevent invalid ref_count increase
while moving between two zones. and also add object clean code for new_gcc and drag_gcc
when gadget is dropped.
Fixes T722
Test Plan:
1. create clock module on gadcon desktop (settings->gadgets, select "background" under layers, click "configure layer" and add a clock gadget).
2. drag clock gadget from one screen to the other. drop it there.
3. drag clock back to first screen
4. right click on clock and select "clock->remove".
Reviewers: raster, devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T722
Differential Revision: https://phab.enlightenment.org/D1256
this dialog had a singl option in it - use shaped windows... and we
don't even use it anymore. remove the dialog to avoid confusion and
set use shaeped window to 0 - maybe config val could go entirely?
this addresses a vbox gl asccel issue where gl client apps can cause
al of vbox to crash and users find it unexpected that e is set to
software compositing but apps go and use opengl, so it's more
consistent for users
this fixes T1441 - or tries.. since it's not easily reproduced, this
is a try and understanding the problem and being conservative by
refcounting until the data is no longer needed. combined with its
needed new api's from 356d10fbeefd3f79f3cc848ed266d33e04ac7238 i hope
this works.
Summary:
There was no checking about absolute path of symbolic link
In case of symbolic link, use real link (absolute path) and set sd->dev as "/"
Fixes T1365
Reviewers: raster, zmike
CC: seoz, cedric
Maniphest Tasks: T1365
Differential Revision: https://phab.enlightenment.org/D1147
i know it's not that pretty, but this brings back the
E_CLIENT_HOOK_CANVAS_LAYOUT as there just is no viable replacement and
thus breaks 2 modules. this fixes T1402 - we chances are just that
this needs a separate hook point as it isnt a per-client but a
per-comp hook.
Summary:
jpeg image which has EXIF orientation meta data was not rotated properly in fm or preview.
@fix
Test Plan:
1. get in "efl/src/tests/evas/images/ in fm.
2. check whether Light_exif_*.jpg are properly rotated or not.
Reviewers: raster, zmike
CC: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D1109
so e is using eo... and something in eo changes... and e fails to
compile entirely.... there are hacks to use eo... and this is not good.
eo is still in a beta state. that means any usage of it can (and
will) break. this is a problem for e. if e uses eo, then eo breaks in
an efl upgrade, e breaks. we can't really have that. we already hit
this problem in terminology with the app server code in elm. so let's
just not use eo in e until it's stable.
this removes eo usage in all places, with the e_menu code having a
small isedje() func due to some of its code paths doing special things
based on if the obj is an edje one or not as opposed to just a simple
"only emit if its an edje obj".
NB: When running wayland clients under X11, we need to subtract 8 from
the keycode value to reflect X's broken keyboard rules
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If EGL returns No Vendor, don't blacklist it. Only blacklist the Known
to be Broken NVIDIA driver
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
When visible window was moved from invisible desktop to current desktop via ibar, the window was not shown.
Fixes T1336
Test Plan: open window on 0-0 (desktop) -> goto 1-0 -> move window to 1-0 by using ibar -> check whether window is shown or not
Reviewers: zmike, raster
CC: seoz, cedric
Maniphest Tasks: T1336
Differential Revision: https://phab.enlightenment.org/D1038
Summary: Fix what I believe to be misspellings of 'Manager' on lines 21 and 24.
Test Plan: Build Enlightenement...
Reviewers: raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1003
Summary:
1. fix window profile change request with wrong x window id
2. refactoring desktop window profile codes to handle e_client_desk_set correctly
Test Plan:
1. enlightenment: Settings Panel -> Screen -> Virtual Desktops -> Check "Use desktop window profile" -> Apply
2. open an efl app on 1st desktop (0-0)
3. set a window remember on efl app window
4. go to 2nd desktop (1-0)
5. open an efl app again. it should be positioned on the previous desktop (0-0)
Reviewers: zmike, raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D926
This reverts commit 5f0506c790.
this commit makes no sense. if it prevents a crash, then there is a more serious bug elsewhere which should not be covered over by this bandaid.
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm
This reverts commits f87b9900fa, a49cede790, 81038f8d02, 47cfb31752.
Summary:
it fixes crash when running wl client apps on e wayland server.
invalid comp object pointer value is returned by using eo_data_scope_get.
thus eo_isa should be added before eo_data_scope_get.
Test Plan:
1. run e wl server
2. run wl client terminlogy
3. run second wl client elementary_test
Reviewers: raster, devilhorns, zmike, stefan_schmidt
CC: cedric
Differential Revision: https://phab.enlightenment.org/D919
Was the wrong structure type which caused writing after the allocated
size and was generally bad and wrong.
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
objects below the bottom client are unnecessary, so it's better to just start with the bottom client. this has a nice side effect of working around a weird evas bug where layers can exist while having no objects, breaking stacking iterator functions
when this feature was added, its behavior was naively set to ignore repeated desk changes. it also was not adequately tested, resulting in a frustratingly large number of bugs.
with these changes, window profiles should no longer be the cause of client visibility being broken as caused by a failure to change desk.
fix TChutney
This reverts commit 1f8975d546.
totally wrong. do not externally set this.
this issue, which I cannot reproduce, is almost definitely caused due to the fact that _evas_object_layer_set() effectively calls evas_object_raise() without triggering intercept callbacks
Summary: Use a EINA_LOG_LEVELS environment variable for setting log level instead of a E_LOG_LEVEL macro
Test Plan:
run e with EINA_LOG_LEVELS=e:4 environment variable.
we can see log messages using EINA_LOG_DOM_DBG.
Reviewers: zmike, raster, devilhorns
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D885