Commit Graph

20922 Commits

Author SHA1 Message Date
Carsten Haitzler 3c1588efa2 e comp randr support - fix leak of randr info
this fixes case where randr info is not freed

@fix
2015-12-07 19:56:13 +09:00
Carsten Haitzler de269f4711 e randr - fix silent free of data behind randr's back
this fixes a bizarrre issue that valgrind reported that has the
strings we malloc and fill somehow being freed by xlib. totally didn't
make sense. either way, a workaround here is to strdup them
immediately and free the tmp copy and oddly the bug doesn't happen.
this is very odd.

@fix
2015-12-07 19:56:06 +09: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 ecca33310d e randr - feature fix that allows config to jump to specific screen
as part of another fix for having e just pop up the screen config
dialog when a new screen is detected that isn't configured, allow
config dialog for randr to get screen output name via input params

@fix
2015-12-07 19:52:41 +09:00
Carsten Haitzler bb3701702a e zone - handle null e_comp if comp is already shut down
this came from backlight shutdown that got current zone... and getting
zone relied on e_comp being valid.

@fix
2015-12-07 19:52:40 +09:00
Carsten Haitzler bc8cfec356 e comp - set e_comp to null on shutdown so others dont access junk
e backlight was accessing e_comp implicitly during shutdown and comp
is shut down before backlight (that is correct as comp relies on
backlight). this fixes that

@fix
2015-12-07 19:52:38 +09:00
Carsten Haitzler 47f26b5b08 e backlight - avoid seg when comp is shut down and backlight updated
if comp is already shut down, then backlight can't do shutdown things
assuming comp is around, thus handle null e_comp. this fixes segv's
waiting to happen as backlight is shut down after comp and thus e_comp
is a garbage pointer of course

@fix
2015-12-07 19:52:13 +09:00
Mike Blumenkrantz 027b044297 use client geometry for calculations in x11 ConfigureRequest handler
the values requested by the client will be based on its geometry and not
the geometry of the frame. using the frame geometry here results in windows
moving ↘ based on the top/left frame sizes

fix T2912
2015-12-03 14:12:37 -05:00
Thiep Ha 98fea10e51 po: add Vietnamese translation
Summary: Add translation for Vietnamese.
2015-12-02 23:57:05 +09:00
Mike Blumenkrantz a08ac02e82 add config option for allowing sticky windows to receive focus reverts
since forever, sticky windows have not been allowed to receive focus after
various events, eg. desk flip or window close. in some workflows, however,
this may actually be desired behavior

disabled by default

fix T2837
2015-11-30 16:27:04 -05:00
Mike Blumenkrantz 36644518a4 bump version 2015-11-30 15:47:38 -05:00
Mike Blumenkrantz 9c470f7a73 unset release mode
feature freeze is over, have fun
2015-11-30 15:47:22 -05:00
Mike Blumenkrantz 09954da308 20.0 NEWS updates 2015-11-30 14:52:06 -05:00
Mike Blumenkrantz 15bf3f0439 e20 release 2015-11-30 14:52:06 -05:00
Mike Blumenkrantz 302407e6b1 add NEWS from 19.13-14 releases 2015-11-30 14:52:06 -05:00
Mike Blumenkrantz e5e31a2501 remove e_comp_wl struct keyboard repeat members
duplicating these from e_config serves no purpose

ref D3364
2015-11-30 14:15:47 -05:00
Sung-Jin Park 6826608961 (1) e_config.c/e_comp_wl.c: add code for making repeat values configurable
(2) e.src(s): add keyboard.repeat_delay, keyboard.repeat_rate into e.src files

Summary:
As of now, the default values of repeat delay/rate are being set in e_comp_wl.c.
Those values need to be configurable and will be used in e_comp_wl_init().
The limit of each of the values is defined from -1 to 1000. (maximum 1s).
If one of the two is negative, it means default repeat delay/rate are going to be used.
(e.g. delay:400, rate:25)

Test Plan:
N/A

Signed-off-by: Sung-Jin Park <input.hacker@gmail.com>

Reviewers: raster, stefan_schmidt, gwanglim, devilhorns, zmike

Subscribers: Jeon, ohduna, cedric

Differential Revision: https://phab.enlightenment.org/D3364
2015-11-30 14:05:10 -05:00
Derek Foreman 81ff082e0d Stop using MIN macros when choosing versions for wayland resources
Summary:
libwayland-server.so will post an error if the requested version
is higher than the supported one anyway, so there's no point in
doing this.

Using MIN() to pick versions is a client side idiom.

 #kansas

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3385
2015-11-26 20:12:47 -05:00
Stefan Schmidt 9365129a5a e_menu: use Eina_Bool for one-bit bitfield
Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
2015-11-26 18:31:29 +01:00
Stefan Schmidt d18e169701 e_gadcon: use Eina_Bool for one-bit bitfield
Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
2015-11-26 18:31:02 +01:00
Stefan Schmidt 7ed2381722 pulse backend: correct declaration of function with no parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.

Thanks for the sparse semantic parser for pointing this out.
2015-11-26 18:10:47 +01:00
Stefan Schmidt 01a4a24f34 e_fm:correct declaration of function with no parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.

Thanks for the sparse semantic parser for pointing this out.
2015-11-26 18:09:32 +01:00
Mike Blumenkrantz c05100ed14 re-swallow bg_object after wallpaper transition has completed
fixes eventing/stacking on bg object
2015-11-25 12:36:36 -05:00
Mike Blumenkrantz ac0cc26765 allow more client hooks to bypass delete check
failing to propagate these signals can result in a broken compositor
when a client is deleted before/during an operation
2015-11-24 21:42:22 -05:00
Mike Blumenkrantz ea8e88b592 do not apply max client geometry restriction if max geometry is not set
default values for these is set to a very high value, but it's possible
(and guaranteed) for some clients to set them to a value <= 0, which results
in a broken window
2015-11-24 17:34:03 -05:00
Mike Blumenkrantz 60269f3ecf use CSD geometry during move/resize display
this should provide more user-relevant information
2015-11-24 17:31:47 -05:00
Mike Blumenkrantz e8f4f30f40 adjust for SSD geometry during wayland client resize
client moveinfo includes the frame geometry, so this must be taken
into account when resizing a client which has a frame

fix T2863
2015-11-24 17:29:53 -05:00
Mike Blumenkrantz 0ed63ede7c avoid setting incorrect geometry during new_client frame calc
in the case where a client has no geometry set, attempting to update
the client's geometry during frame recalc will guarantee that wrong
geometry is set, resulting in a bad first frame
2015-11-24 17:28:08 -05:00
Mike Blumenkrantz 913e04bda7 declare xwayland functions prior to using them
#CompileFail
2015-11-24 15:46:10 -05:00
Mike Blumenkrantz 70c6dc30d1 use separate handler for x11 fatal errors when using xwayland
a fatal error with xwayland is not a fatal error for the compositor,
so this should not result in a dead session
2015-11-24 15:34:42 -05:00
Mike Blumenkrantz ef09d3e620 add mechanism for preventing unload of important modules during runtime
if a wayland output module is unloaded while the compositor is still
active, bad things will happen
2015-11-24 15:26:10 -05:00
Mike Blumenkrantz ba53e6937b fix all shadow warnings in msgbus module
ref cdb436ee86
2015-11-24 12:01:01 -05:00
Mike Blumenkrantz e01b594fbd reenable restart/shutdown dbus methods under x11 2015-11-24 11:49:15 -05:00
Carsten Haitzler 255d227ac8 e - efm - rate limit dbus requests to open dirs or files to avoid dos
in a wayland wold we dont want to trust clients on the other side of a
dbus connection - so rate limit what you can do with efm dbus requests

@fix
2015-11-24 22:07:53 +09:00
Carsten Haitzler cdb436ee86 e msgbus - move almost all of core dbus methods to msgbus module
for security reaons, all the dbus methods that allow you to mess with
e are now in the msgbus module - load at your own risk. this is
irrelevant in x11, but in wayland this matters as wayland is actually
secure.

this also disables restart and shutdown dbus methods still in core.
they are there but non-functional due to possibly being able to be
abused in a wayland universe to "dos attack" the wm.

@fix
2015-11-24 22:07:46 +09:00
Mike Blumenkrantz 80071ab79e only perform drm shutdown during signal handler if drm engine is in use 2015-11-23 15:03:45 -05:00
Mike Blumenkrantz be69ae562f only create wayland screensaver timer in wayland mode
probably fix T2867
2015-11-23 14:47:37 -05:00
Chris Michael ebf1318b0d Fix invalid compositor type check in e_dpms_force_update
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-23 10:00:36 -05:00
Chris Michael eff826b4e3 Fix formatting and remove extra blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-23 09:48:58 -05:00
Carsten Haitzler 251daa7515 e - fix compositor fade out ghosting
due to enabling manual rendering (and als animator frametiem to 10
secons) in e_comp_canvas.c when screensaver is active (blanking is
finished totallly - eg the fade to black) evas weill nto render the
last frame of the animation - skipping it and not rendering another
update until screensaver is disabled. this leaves a subtle ghost of
pixel data which is 1 step before black on the screen (until dpms
turns the monitor off).

this fixes that. this delays enabling manual render for 1 more second
after we have been told the screensaver is active. this is plenty of
time to update all the way to black.

@fix
2015-11-23 11:42:38 +09:00
Mike Blumenkrantz a3266d5d89 ref clients while a wayland shell surface exists
in the case where a client is deleted, it's possible that the shell
surface may persist longer than the duration of the normal client delete
cycle, so it's necessary to ensure that the client will continue to exist
until the shell surface has been destroyed
2015-11-20 15:04:07 -05:00
Mike Blumenkrantz d659b86478 remove fwin popup size hint change callback on win deletion
this callback also crashes if called during delete
2015-11-20 09:16:21 -05:00
Mike Blumenkrantz b2706afe06 ensure fwin efm delete callback does not trigger crash
if this is called during fwin delete, dereferencing the passed data
will result in a crash
2015-11-20 09:09:38 -05:00
Stafford Horne bbe3173906 e/core: Fix minor mem leak when reading module paths
Summary:
Found this with a quick valgrind session.  For paths that are not directories, if we fail the `ecore_file_is_dir` condition memory will not be freed.

The change is to use the default e_path freeing function.

Test Plan:
Run enlightenment in valgrind.  It should no longer show a mem leak like below.

```
==6912== 8 bytes in 1 blocks are definitely lost in loss record 186 of 5,940
==6912==    at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==6912==    by 0x4D8574: e_path_dir_list_get (e_path.c:326)
==6912==    by 0x4D1BA4: e_module_init.part.0 (e_module.c:183)
==6912==    by 0x4D1DA8: e_module_init (e_module.c:153)
==6912==    by 0x4371ED: main (e_main.c:868)
```

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3356
2015-11-19 20:44:45 -05:00
Mike Blumenkrantz d32392760a always set wayland E_Client->redirected during client creation
fix T2846
2015-11-19 15:58:52 -05:00
Mike Blumenkrantz 0988e21193 ensure that a deskmirror object does not orphan child objects
ref T2846, T2830
2015-11-19 15:52:01 -05:00
Mike Blumenkrantz 818531a13e Revert "e deskmirror - fix loss of mirror object from deskmirror"
This reverts commit bd0c590489.

the m->mirror object can never be deleted except in the case of a client
being removed from the owner desk. removing it at any point will break any
users of the deskmirror api and create other issues

ref T2846
2015-11-19 15:44:34 -05:00
Mike Blumenkrantz 90071799a8 block task gadget refills while a drag is active
it's impossible to use a pager effectively with a task gadget due to
the constant resizing of the tasks gadget during any kind of window move
2015-11-19 15:34:19 -05:00
Mike Blumenkrantz 5e6831187a always create compositor mirror objects, ignore pixmap image state
checking pixmap image state in this case resulted in mirrors failing to
be created in some cases when there was no reason to fail

ref T2846
2015-11-19 15:17:19 -05:00
Stafford Horne 9bfd684e43 e/imc: fix issue with input method import segv and small window size
Summary:
The imc import dialog at "Settings > Language > Input Method Settings >
Import .." had issue where the size was almost zero.  When trying to
close the window it would SEGV.

The SEGV seems to be do the with dialog->cdata not being set.

The resize issue I am not so sure, but I upgraded to ELM and if fixed
the issue.

Test Plan:
Open "Settings > Language > Input Method Settings > Import ..."
 - The size should not be really small
 - When closing it should not cause E to SEGV
After applying the patch the above issues are fixed.

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3353
2015-11-19 12:46:58 -05:00