Commit Graph

19937 Commits

Author SHA1 Message Date
Chris Michael 5af9485c4f enlightenment: Ensure we have a valid menu comp object before calling
Summary:
evas functions

This fixes an issue when quickly mousing through menus can cause a
segfault in Enlightenment due to menu->comp_object being NULL

ref T7030

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric

Tags: #efl, #enlightenment22

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6641
2018-08-02 10:08:34 -04:00
Carsten Haitzler ae64aabfa2 e pixmap - follow on from previous commit to finally fix pixmap tracking
follow on form 4c7b798b45 - really
remove from the alias hash. the alias id is different and should ave
been stored in the pixmap and be deleted when pixmap is freed. i had
it right to remove from the aliases hash too, but i used the wrong id
- i used the "core" pixmap id, not alias. this tracks and uses that
alias.

this means internal windows are reliable now and dont crash...

@fix.
2018-08-02 10:08:34 -04:00
Carsten Haitzler 600a739f91 e wl - fix e pixmap tracking to remove from both aliases and pixmaps
on pixmap free only the pixmaps entry was deleted not the pixmaps hash
one. this led to lookup of stale pixmaps in the aliases hash... and
then a crash.

also use the correct local type with the correct byte order as well.
this has probably been an issue for a while but now internal windows
should work much better without crashes.

@fix
2018-08-02 10:08:34 -04:00
Carsten Haitzler f968b37095 e randr screen setup - fix disabling of scale checkbox 2018-08-02 10:04:31 -04:00
Carsten Haitzler 5347935700 e randr - fix crash when no zones found 2018-08-02 10:02:45 -04:00
Mike Blumenkrantz 894dddfcfd avoid adding render updates for deleted clients after animation completes
Summary:
in the case where deletion is deferred to preserve a window animation this
codepath may be triggered by a deleted client, at which point no render update
should occur in order to avoid compositor errors

ref f78eb3c108
fix T5203

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: netstar, cedric

Tags: #enlightenment-git

Maniphest Tasks: T5203

Differential Revision: https://phab.enlightenment.org/D6367
2018-08-02 10:02:20 -04:00
Daniel Zaoui 74c372c0ff Battery: fix the battery status when some battery devices are not valid
It happens that some devices are considered as batteries, even if they
cannot be charged or used as a power supply for the laptop.
The ELAN device deals with the touchpad and is a "battery". When looking
at the udev info, it appears that there is no technology present as
well as the basic battery info (energy levels).

P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN24CC:00/0018:04F3:24CC.0003/power_supply/hid-0018:04F3:24CC.0003-battery
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN24CC:00/0018:04F3:24CC.0003/power_supply/hid-0018:04F3:24CC.0003-battery
E: POWER_SUPPLY_CAPACITY=1
E: POWER_SUPPLY_MODEL_NAME=ELAN24CC:00 04F3:24CC
E: POWER_SUPPLY_NAME=hid-0018:04F3:24CC.0003-battery
E: POWER_SUPPLY_ONLINE=1
E: POWER_SUPPLY_PRESENT=1
E: POWER_SUPPLY_SCOPE=Device
E: POWER_SUPPLY_STATUS=Discharging
E: SUBSYSTEM=power_supply

The issue with that kind of devices is that it confuses the battery
gadget. Since two batteries are present, the total capacity is divided
by 2, resulting in the gadget displaying only 50% when the battery is
fully charged.
To avoid this, we check that the battery technology is known.

@fix
2018-08-02 10:01:46 -04:00
Carsten Haitzler 57b2988e7a mixer - fix exe handler del and handle to stop crashes after mixer run
running emixer from the mixer module popup was resulting in crashes.
it was this exe event handler handle and leaving a dangling garbage
ptr after it was deleted.

@fix
2018-08-02 10:01:10 -04:00
Carsten Haitzler a451626cc6 emxier desktop - fix categories to match well known cat names
Audio is not a well known/valid one. AudioVideo is. fixes T5076

@fix
2018-08-02 10:00:58 -04:00
Carsten Haitzler 2c52afb6f4 input method conf dialog - fix filtering of imc's to search path
if exe is not a full path it'd be filtered out... so fix and do a path
search to show imc's that can work.

@fix
2018-08-02 09:59:31 -04:00
Derek Foreman e047ed2638 compile against stable EFL again
E should probably continue to build against released EFL older than
the current interface name changes.
2018-08-02 09:58:31 -04:00
Carsten Haitzler 5155856566 compile again after efl change interface names... 2018-08-02 09:58:22 -04:00
Carsten Haitzler ff17200996 e thumb - be consistent and use safe run for restarting thumbnailer
fix inconsistency in using ecore_exe_run and the e_util wrapper...

@fix
2018-08-02 09:57:31 -04:00
Carsten Haitzler deb08178d7 e pan/scrollframe - fix garbage pan values that happen temporarily
during setup garbage pan positions can be set due to uninitialized
local variables. fix that to initialize.

@fix
2018-08-02 09:57:23 -04:00
Carsten Haitzler 65039f9c4c efm - dont add null icons to list ... fixes segv
as per title. dont store null icons in the list - not intended to be
that way.

@fix
2018-08-02 09:57:16 -04:00
Carsten Haitzler 2583e560a2 startup - fix management of timer pointer for startup timeout
fixes access of invalid timer pointer value on slow systems. (was
being caught with magic/invalid eiod before)

@fix
2018-08-02 09:57:09 -04:00
Carsten Haitzler 8b129bab79 efm - fill in some media icon blanks which lead to generic icons
i found a thumbdrive i got a generic "whatever" file icon for...
because efm media type matching didnt find an icon name for it. fix
that.
2018-08-02 09:56:47 -04:00
Carsten Haitzler 5e07f6815c edge flip while dragging with alt - fix to work again
this fixes when you drag a wqindow to screen edge and it flips if you
use alt+drag as opposed to just dragging titlebar around without alt.
it fixes it by updating your config to allow "any modifier" for edge
flips which is actually correct.

@fix
2018-08-02 09:55:47 -04:00
Chris Michael 25c2f3ab5c conf_randr: Use eina_stringshare_replace
Instead of deleteing a stringshare and re-adding it, just use
eina_stringshare_replace

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-08-02 09:53:50 -04:00
Carsten Haitzler eb2bdeb443 e mouse bindings - fix wheel conflict check to check only dir 0
allows ylou to bund extra wheels for desktop switching ... much
better. no conflicts with signals :)
2018-08-02 09:53:42 -04:00
Carsten Haitzler 781f4eb70b e menus - when filtering for exe handle quotes, escapes etc.
handle quotes, escapes and so on for the shell command so you can do
things like Exec="ls" and it still work. this will also allow
executables with spaces in them as well with quotes or escapes as
backslash.

this fixes T6787
@fix
2018-08-02 09:53:17 -04:00
Derek Foreman 768e64bd2f Fix recent typo in mirror object alpha setting
ref 6a04bfb0ff
2018-08-02 09:51:55 -04:00
Derek Foreman 14c04b8777 Fix single frame broken render on wayland client opaque region change
Turns out this is called too late in the render pass and a single frame
can occur with the old border setting.  This can lead to nasty flicker
artifacts.
2018-08-02 09:51:54 -04:00
Derek Foreman b88d080742 Move alpha set for mirrors out of pixels_get callback
the pixels_get callback fires too late for this to work properly, so
set it in e_comp_object_dirty() instead.
2018-08-02 09:51:52 -04:00
Derek Foreman 34c28af7dc Remove useless pixels_dirty_set from mirror_pixels_get
This is implicit at the end of render.
2018-08-02 09:51:50 -04:00
Alastair Poole 6a1f91ae0b e_ckpasswd_main: Fix build on OpenBSD. 2018-05-31 12:34:40 +01:00
Carsten Haitzler 3bdcb7a0c2 move from data_home/apps/defaults.list to config_home/mimeapps.list
this moves to the newer mimeapps.list file in ~/.config from the older
defaults.list. it also provides a migration (copy file ovr if target
doesnt exist on e startup).

this fixes T6784

@fix
2018-03-22 12:17:03 +09:00
Carsten Haitzler 8b03df8b30 e desklock pam error - go back to previous text
since we had translations of this, go back to the prior text so we
keep these. also dont show if using a personal password. related to
fixing T6779
2018-03-22 12:16:47 +09:00
Carsten Haitzler 71d481b4c4 desklock - make it fail to lock on non-bsd platforms if no pam support
if no pam support detected at build time, dont even lock to begin
with. this should fix T6779

yes - even better is making pam a requirement for building and to be
optionallhy disabled, but then even if disabled we still need this check.

this has been a long long long standing bug in e. i think this is why
we had some reports of "any password unlocks e" - because it was built
without pam support and before auth was always succeeding without pam.
now it is always FAILING instead (which is probably better).

@fix
2018-03-22 12:16:32 +09:00
Carsten Haitzler 0d9a763165 fix autofoo build to match e auth patch backport
the autofoo wasnt updated with the patch and peolpe are using the
autotools build thus this btoke e lockscreen auth but not building the
binary.
2018-03-22 12:11:23 +09:00
Derek Foreman 3c5b541385 Revert no-longer required pulseaudio hack for wayland
The problem this solved is now handled elsewhere.

Reverts what's left of commit 6eefae4822
2018-03-20 12:32:01 -05:00
Carsten Haitzler 1296061c19 systray - fix sizing of tray so you can see the icons
this should also address the last comment with a fix T5910
2018-03-13 13:28:54 +10:30
Carsten Haitzler eba3bec170 e systray/indicator protocol pixmap data fetch fix
this fixes several issues in the pixmap data fetching

1. it over-read the input buffer assuming ints count instead it has
byte count for length
2. it would leak memory if you have multiple pixmaps and the largest
was not the first found.
3. it always swapped pixel bytes instead of only on little endian.

this should fix T5910
2018-03-13 13:25:25 +10:30
Mike Blumenkrantz 348e57123c remove adding theme extension for "default" theme on startup
elm_theme does this automatically so there should never be a need for it
2018-03-02 11:14:27 -05:00
Carsten Haitzler 3c4e25360e e auth - move all auth to child process only (e_ckpasswd).
this should fix T6211 ensuring no drivers can cause a segfault at exit
time. this also happens to remove the enlightenment_sys -z option for
openbsd and unifies all the passwd checking into the single
enlightenment_ckpasswd binary util (that has ifdefs for openbsd,
freebsd and linux pam in it).

this simplifies code removing a mess of auth being done in multiple
places, removes special fork vs run 1 exe or a different exe in
different cases making it more maintainable. yes - this requires
enlightenment_ckpasswd to be setuid root, but it already was when it
was built.

@fix
2018-03-02 11:14:20 -05:00
Al Poole e8132e8723 sysinfo: fix linux build. 2018-03-02 11:14:08 -05:00
Al Poole da19c3cd6a sysinfo: fix cpuclock for BSD.
This lets us use the cpuclock gadget on FreeBSD machines.

@fix T6259
2018-03-02 11:14:04 -05:00
Mike Blumenkrantz 140f176d8e fix luncher efreet event handling
this does not require a bar resize, a bar refill, or any object creation.
it only requires icon file setting.
2018-03-02 11:13:58 -05:00
Mike Blumenkrantz 553b8063a5 always unset pass_events on desktop editor when it is shown
fixes some cases where the editor could not be interacted with after
it was hidden during gadget placement
2018-03-02 11:13:49 -05:00
Mike Blumenkrantz c43113381c do not add gadget editor pointer site to editor del_list
the pointer site will never exist at the time when the editor is
destroyed
2018-03-02 11:13:42 -05:00
Thanatermesis c35aaefc1f Fix for window borders to accept edje icons
If you have edje icons installed in your system (efreet smartly searches
the candidate icon based in your Icon= entry), they works correctly in
the menus, bar, etc... but doesn't works in the window borders icon,
this is because the code try's to add it without dealing with the .edj
extensions, probably attempting to load multiple image types and
returning some errors/warning, resulting in an empty icon in the window
borders

Fixes T6723
2018-03-02 11:13:34 -05:00
Mike Blumenkrantz 2e0e3a356b process comp object hide/show signals immediately during intercept
for objects without animations, it's important to instantly perform
state transitions in order to preserve intended visibility behaviors of
these objects and avoid race conditions due to asynchronous signal
processing

fix T6722
2018-03-02 11:13:21 -05:00
Mike Blumenkrantz a6d1933823 use per-instance event handler for batman powersave eventing
==19679== Invalid read of size 4
==19679==    at 0x5CC90EF: _ecore_event_message_handler_handler_del (ecore_event_message_handler.c:194)
==19679==    by 0x5CCA332: ecore_event_message_handler_del (ecore_event_message_handler.eo.c:22)
==19679==    by 0x5CBC7E3: ecore_event_handler_del (ecore_events.c:51)
==19679==    by 0x2A23F4F1: _batman_removed_cb (batman.c:579)
==19679==    by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78)
==19679==    by 0xC166F4D: _event_callback_call (eo_base_class.c:1560)
==19679==    by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037)
==19679==    by 0x500B1D: _gadget_remove (e_gadget.c:426)
==19679==    by 0x5037A9: _gadget_menu_remove (e_gadget.c:1263)
==19679==    by 0x552600: _e_menu_active_call (e_menu.c:2066)
==19679==    by 0x55445E: _e_menu_cb_mouse_up (e_menu.c:2809)
==19679==    by 0x5CC9933: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:359)
==19679==    by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19679==    by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681)
==19679==    by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711)
==19679==    by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444)
==19679==    by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679==    by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679==    by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679==    by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679==    by 0x5476B6: main (e_main.c:1092)
==19679==  Address 0x212af268 is 40 bytes inside a block of size 48 free'd
==19679==    at 0x4C30D18: free (vg_replace_malloc.c:530)
==19679==    by 0x5CC9BE6: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:389)
==19679==    by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19679==    by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681)
==19679==    by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711)
==19679==    by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444)
==19679==    by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679==    by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679==    by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679==    by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679==    by 0x5476B6: main (e_main.c:1092)
==19679==  Block was alloc'd at
==19679==    at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
==19679==    by 0x5CC8EE1: _ecore_event_message_handler_handler_add (ecore_event_message_handler.c:148)
==19679==    by 0x5CCA0FB: ecore_event_message_handler_add (ecore_event_message_handler.eo.c:14)
==19679==    by 0x5CBC790: ecore_event_handler_add (ecore_events.c:35)
==19679==    by 0x2A23FB87: _batman_created_cb (batman.c:661)
==19679==    by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78)
==19679==    by 0xC166F4D: _event_callback_call (eo_base_class.c:1560)
==19679==    by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037)
==19679==    by 0x501172: _gadget_object_create (e_gadget.c:548)
==19679==    by 0x506B90: e_gadget_type_add (e_gadget.c:2056)
==19679==    by 0x2A23CA44: sysinfo_init (mod.c:161)
==19679==    by 0x2A23CCF5: e_modapi_init (mod.c:203)
==19679==    by 0x556814: e_module_enable (e_module.c:524)
==19679==    by 0x555DF9: e_module_all_load (e_module.c:324)
==19679==    by 0x554EFF: _module_done_cb (e_module.c:73)
==19679==    by 0x73531C1: eio_async_end (eio_file.c:510)
==19679==    by 0x5CF8D67: _ecore_thread_kill (ecore_thread.c:229)
==19679==    by 0x5CF8E1C: _ecore_thread_handler (ecore_thread.c:256)
==19679==    by 0x5CB97D0: _ecore_main_call_flush (ecore.c:1090)
==19679==    by 0x5CB9858: _thread_callback (ecore.c:1101)
==19679==    by 0x5CF51F3: _ecore_pipe_handler_call (ecore_pipe.c:602)
==19679==    by 0x5CF5529: _ecore_pipe_read (ecore_pipe.c:725)
==19679==    by 0x5CC3677: _ecore_call_fd_cb (ecore_private.h:476)
==19679==    by 0x5CC6793: _ecore_main_fd_handlers_call (ecore_main.c:2051)
==19679==    by 0x5CC7414: _ecore_main_loop_iterate_internal (ecore_main.c:2439)
==19679==    by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679==    by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679==    by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679==    by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679==    by 0x5476B6: main (e_main.c:1092)
2018-03-02 11:13:04 -05:00
Mike Blumenkrantz 0c0d002f94 disable bounce for gadget bar scrollers
fix T6721
2018-03-02 11:12:58 -05:00
Mike Blumenkrantz 829f7ee29d use the current pointer client for the xwayland drag client if owner is unmapped
qt seems to like doing this

fix T6644
2018-03-02 11:12:54 -05:00
Stephen Houston abb761b784 Luncher: Add a timeout for mousing out when preview already exists. Update preview on deskswitch.
This fixes https://phab.enlightenment.org/T6328 and https://phab.enlightenment.org/T6202
2018-03-02 11:12:47 -05:00
Mike Blumenkrantz c93e8f93a1 resolve even more null derefs from string parsing in vkbd
CID 1132747
2018-03-02 11:12:21 -05:00
Andy Williams 52319a6feb Remove E_BITFIELD as it is not present on this branch 2018-02-09 11:28:49 +00:00
Mike Blumenkrantz 7b55e20ace print notifications to stderr if a notification handler doesn't exist 2018-01-30 10:52:43 -05:00
Mike Blumenkrantz a95e49fe6b further protect against crashes when xwayland crashes 2018-01-30 10:52:34 -05:00