Commit Graph

10579 Commits

Author SHA1 Message Date
Chris Michael 2814066c39 enlightenment: Fix E_CONFIG_LIMIT to use the proper min & max values
e_config->backlight.idle_dim is actually an unsigned char in the
structure, so use a 0 & 1 for min & max

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:22:19 -04:00
Chris Michael 59ffe3bed2 enlightenment: Add missing field initializers for Eina_Rectangle
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:19:43 -04:00
Mike Blumenkrantz 98c44950b1 subtract x11 client damage region even when forcing full override damage
fix T2785
2015-10-13 22:38:50 -04:00
Mike Blumenkrantz f6be761226 force full damage for first frame of x11 override clients
it seems that damages for popup windows in some applications,
namely blink-based browsers, are reported incorrectly, resulting
in sometimes having a blank window
2015-10-13 17:09:00 -04:00
Mike Blumenkrantz e8bcf1016f use correct param ordering for setting wayland client frame geometry
function uses l,r,t,b and not x,y,xx,yy

fix T2624
2015-10-13 13:31:47 -04:00
Mike Blumenkrantz 60a1dfaf4f remove duplicate surface size update for wayland clients during commit
this has already happened in e_comp_wl_surface_attach()
2015-10-13 13:25:15 -04:00
Mike Blumenkrantz 45b7224b42 explicitly disable screensaver for wayland urgency wakeups 2015-10-09 15:23:15 -04:00
Mike Blumenkrantz 277eb14ace make wake-on-urgent apply for all cases of window urgency
in the case that an urgent window is set as urgent again, wakeup should
still occur
2015-10-09 15:21:41 -04:00
Mike Blumenkrantz ddc06559c7 apply _GTK_FRAME_EXTENTS for xwayland clients
not entirely sure this is worthwhile but may as well
2015-10-09 15:03:38 -04:00
Tom Hacohen 252198488c Intl: fix potential stack buffer overflow.
CID 1298051

@fix
2015-10-09 09:26:45 +01:00
Tom Hacohen 981e3f8f31 Client: fix potential out of bounds read.
This is an unsigned int underflow that could lead to an out
of bounds read.

CID 1291837

@fix
2015-10-09 09:19:53 +01:00
Carsten Haitzler acbf4a79b4 e comp data - actually ... NO visibility effect by default is right
so a bit of a config wipe had my comp config reset (some dev
shenanigans) and i got to see what current e "out of box" config is -
and it was horrid for menus. visibilitiy effect was broken. vertial.
default was none - always. forever. like empty. so go back to that. in
fact why do this visibility effect? that was the point of having a
different shadow in the theme - each has its own look + effect. this
makes things far more complex...
2015-10-08 08:27:38 +09:00
Mike Blumenkrantz 95b9770f08 when removing VERTICAL maximize state, also remove LEFT and RIGHT states
LEFT and RIGHT are supersets of VERTICAL which serve no purpose on their own,
so remove them when removing VERTICAL

fix T2770
2015-10-07 15:47:21 -04:00
Carsten Haitzler d99869fed2 e comp - default config was rather broken - fix
default config didnt select menu style shadow - was selecting
vertical/still which meant animation was rather horrible. fix.
2015-10-07 19:54:21 +09:00
Mike Blumenkrantz a68e375479 only use fast-path pixmap size updating after a resize for x11 clients
updating these values after other operations will result in the pixmap size
being set inaccurately, leading to rendering inconsistencies
2015-10-05 17:28:26 -04:00
Mike Blumenkrantz a6408d95a6 attempt to load default e_bindings if initial load fails 2015-10-05 15:56:28 -04:00
Mike Blumenkrantz be49b11bd3 do not set frame geometry on frame-possessing wayland clients 2015-10-05 15:56:04 -04:00
Mike Blumenkrantz 85cf1305be throw an ACK when trying to set comp frame geometry if frame exists 2015-10-05 15:55:44 -04:00
Mike Blumenkrantz e27a0cbeba clear menu cache when saving a menu file
force regeneration of menus after editing them

ref T2271
2015-10-05 13:41:10 -04:00
Mike Blumenkrantz ac9daa55fb make icon selection dialog resizable in .desktop editor
ref T2271
2015-10-05 13:33:13 -04:00
Mike Blumenkrantz 29fb270450 move configure init after intl init has completed
gettext calls will not return the correct language string until after
setup has completed, leading to untranslatable strings

fix T2760
2015-10-05 13:09:38 -04:00
Seunghun Lee 1ce8b362de clear the tiler for input region after setting to comp object.
Summary:
there is no need to set repeatedly input region even if it's already applied.
and this patch remove the code to clear tiler from client's unmapped case.
this fixes that tiler for input region is removed before applying it to comp object in case client is unmmaped yet.

Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3076
2015-10-05 12:47:29 -04:00
Chidambar Zinnoury 2a3742a52a e fm: Use correct string length when copying path.
Sometimes, trying to go to the parent directory wouldn’t work and end up showing some garbage. Unfortunately, the code ended up not NULL-ending the path, which made searching for the path separator buggy.
2015-10-04 18:52:03 +02:00
Chidambar Zinnoury c57f2ff611 e menus: Fix invalid comparisons.
Fixes CID 1267215 and 1267216.
2015-10-04 16:46:32 +02:00
Mike Blumenkrantz 4d30674ab8 move client post-update adding into render function
in some cases, it's possible for a client which expects to render on
the next frame to actually render on the frame after. in these cases,
the compositor must not clear the pixmap image until after the render
has occurred in order to avoid inaccuracies. for this reason, the best
place to flag a client for post-render work is at the time of the client's
render

ref T2762
ref D3120
2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 38a8de6a1d unify comp render returns for argb and non-argb clients 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 588a9766e4 fix comp render return value for failed draws of non-argb clients 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 269b5fcc0e fix return value of comp render for wayland clients 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 81b61634c4 add RENDER_DEBUG for forced renders when setting dirty flag 2015-10-02 13:57:29 -04:00
Boram Park b9b650806f should remove a frame resource from pending.frames list also
Summary: Signed-off-by: Boram Park <boram1288.park@samsung.com>

Reviewers: stefan_schmidt, gwanglim, raster, zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3079
2015-10-02 12:38:30 -04:00
Mike Blumenkrantz 4b40ad10e5 always apply all randr changes after a screen event
fixes case where plugging an external monitor would cause the screen
to expand onto that display without the display being effectively usable
until after a restart
2015-10-01 13:17:27 -04:00
Mike Blumenkrantz bb5daf2b57 remove remote colorclass editor usage
match current elm function signatures
2015-09-30 16:31:20 -04:00
Mike Blumenkrantz cdf6650a11 redo wayland client buffer referencing
the previous methodology was effectively:
attach -> ref(new buffer) x2 / unref(old buffer) x2
...
...
attach -> ref(new buffer) x2 / unref(old buffer) x2

this resulted in buffer management failures and crashing. now the
buffer gets 1x ref before render and 1x unref after render, ensuring
that the lifetime is accurate (assuming evas doesn't lie to us)

now we still have random crashing during resize, but not as much as
before
2015-09-29 18:53:15 -04:00
Mike Blumenkrantz 89a789fe3d redo CSD for wayland clients to use comp object frame geometry
this fixes issues with client placement and is a more native solution
than the previous hacks
2015-09-29 18:53:03 -04:00
Mike Blumenkrantz ba92337882 never mark wl client pixmaps as dirty or refresh them
this has no meaning for a wl pixmap in the current implementation
2015-09-29 16:35:30 -04:00
Mike Blumenkrantz bd8987c4d9 free x11 damage region rects 2015-09-29 13:03:35 -04:00
Mike Blumenkrantz 0a7c9ad5b9 do not roundtrip for x11 client message DBG if it will not be visible
also free fetched atom name
2015-09-29 13:02:10 -04:00
Mike Blumenkrantz 14a6ac6458 unset E_Client->internal_elm_win before deleting the client in e_win
==24509== Invalid write of size 8
==24509==    at 0x502D00: _e_elm_win_trap_del (e_win.c:39)
==24509==    by 0x509BFC2: _elm_win_evas_object_smart_del (elm_win.c:1886)
==24509==    by 0x91F4643: evas_obj_smart_del (in /usr/lib/libevas.so.1.15.99)
==24509==    by 0x91F5B5C: evas_object_smart_del (evas_object_smart.c:1021)
==24509==    by 0x91E9107: _evas_object_eo_base_destructor (evas_object_main.c:739)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x5086715: _elm_widget_eo_base_destructor (elm_widget.c:5744)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509==    by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509==    by 0xE5443EC: _eo_do_end (eo.c:546)
==24509==    by 0x4D5B1A: _e_obj_dialog_free (e_obj_dialog.c:125)
==24509==    by 0x4D61FB: e_object_free (e_object.c:152)
==24509==    by 0x4D61FB: e_object_unref (e_object.c:152)
==24509==    by 0x4EDC54: _e_sys_logout_after (e_sys.c:750)
==24509==    by 0x4ED7AC: _e_sys_action_do (e_sys.c:925)
==24509==    by 0x4EE348: e_sys_action_raw_do (e_sys.c:311)
==24509==    by 0x4EE43F: _e_sys_comp_done_cb (e_sys.c:66)
==24509==    by 0x6097348: _edje_emit_cb (edje_program.c:1476)
==24509==    by 0x6097348: _edje_emit_handle (edje_program.c:1405)
==24509==    by 0x60924EE: _edje_message_queue_process (edje_message_queue.c:787)
==24509==    by 0x60926A6: _edje_job (edje_message_queue.c:154)
==24509==    by 0xCC5087A: _ecore_job_event_handler (ecore_job.c:121)
==24509==    by 0xCC4B204: _ecore_call_handler_cb (ecore_private.h:390)
==24509==    by 0xCC4B204: _ecore_event_call (ecore_events.c:565)
==24509==    by 0xCC52AE7: _ecore_main_loop_iterate_internal (ecore_main.c:1927)
==24509==    by 0xCC52CD6: ecore_main_loop_begin (ecore_main.c:983)
==24509==    by 0x4383F4: main (e_main.c:1047)
==24509==  Address 0x14fb1a28 is 1,176 bytes inside a block of size 1,352 free'd
==24509==    at 0x4C2A65B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24509==    by 0x4D61FB: e_object_free (e_object.c:152)
==24509==    by 0x4D61FB: e_object_unref (e_object.c:152)
==24509==    by 0x502CED: _e_elm_win_trap_del (e_win.c:37)
==24509==    by 0x509BFC2: _elm_win_evas_object_smart_del (elm_win.c:1886)
==24509==    by 0x91F4643: evas_obj_smart_del (in /usr/lib/libevas.so.1.15.99)
==24509==    by 0x91F5B5C: evas_object_smart_del (evas_object_smart.c:1021)
==24509==    by 0x91E9107: _evas_object_eo_base_destructor (evas_object_main.c:739)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x5086715: _elm_widget_eo_base_destructor (elm_widget.c:5744)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0xE5443EC: _eo_del_internal (eo_private.h:221)
==24509==    by 0xE5443EC: _eo_unref (eo_private.h:295)
==24509==    by 0xE5443EC: _eo_do_end (eo.c:546)
==24509==    by 0x4D5B1A: _e_obj_dialog_free (e_obj_dialog.c:125)
==24509==    by 0x4D61FB: e_object_free (e_object.c:152)
==24509==    by 0x4D61FB: e_object_unref (e_object.c:152)
==24509==    by 0x4EDC54: _e_sys_logout_after (e_sys.c:750)
==24509==    by 0x4ED7AC: _e_sys_action_do (e_sys.c:925)
==24509==    by 0x4EE348: e_sys_action_raw_do (e_sys.c:311)
==24509==    by 0x4EE43F: _e_sys_comp_done_cb (e_sys.c:66)
==24509==    by 0x6097348: _edje_emit_cb (edje_program.c:1476)
==24509==    by 0x6097348: _edje_emit_handle (edje_program.c:1405)
==24509==    by 0x60924EE: _edje_message_queue_process (edje_message_queue.c:787)
==24509==    by 0x60926A6: _edje_job (edje_message_queue.c:154)
==24509==    by 0xCC5087A: _ecore_job_event_handler (ecore_job.c:121)
==24509==    by 0xCC4B204: _ecore_call_handler_cb (ecore_private.h:390)
==24509==    by 0xCC4B204: _ecore_event_call (ecore_events.c:565)
==24509==    by 0xCC52AE7: _ecore_main_loop_iterate_internal (ecore_main.c:1927)
==24509==    by 0xCC52CD6: ecore_main_loop_begin (ecore_main.c:983)
==24509==    by 0x4383F4: main (e_main.c:1047)
2015-09-29 12:58:13 -04:00
Mike Blumenkrantz b843527a6c do not roundtrip for x11 client message DBG if it will not be visible
also free fetched atom name
2015-09-29 12:53:59 -04:00
Mike Blumenkrantz f94764feec reject client resize attempts for clients with dirty pixmaps
these clients will resize/render correctly only after the next
render loop, so defer until then to avoid #RenderFail

fix T2754
2015-09-29 12:29:41 -04:00
Mike Blumenkrantz b9c4911374 s/EAPI/E_API/ ...again 2015-09-28 15:51:51 -04:00
Mike Blumenkrantz 6732398856 use client window coords for resize-moving without a frame_object
improves placement of csd windows

ref T2750
2015-09-28 15:39:15 -04:00
Mike Blumenkrantz 5f2f1cb67b do not set client window coordinates during a move until after resizing check
fixes case where values would be erroneously updated when they should instead
have been rejected

ref T2750
2015-09-28 15:36:58 -04:00
Mike Blumenkrantz 9b2eb5541c use more accurate math to determine whether to apply a client maximize change 2015-09-28 14:42:21 -04:00
Mike Blumenkrantz 29823dbf1b unset the requested maximize state when receiving a client unmaximize request
not sure why it was always removing VERTICAL here but that's a bug
2015-09-28 14:41:44 -04:00
Mike Blumenkrantz 7e5eb0a96d allow client resizes on axes currently unrestricted by maximize state
if this isn't explicitly blocked by config options then allowing resizes
on the unmaximized axes is necessary in order to avoid accidentally
queuing a full unmaximize
2015-09-28 14:39:42 -04:00
Mike Blumenkrantz 64c4adeca2 unset E_Client->changes.need_unmaximize after calling unmaximize
...just in case
2015-09-28 14:37:57 -04:00
Mike Blumenkrantz f0fc7a12de remove client maximize states during unmaximize only if they are active
do not accidentally remove untested states using bad math operations
2015-09-28 14:36:59 -04:00
Mike Blumenkrantz d641c9d963 force adjustment of client geometry when changing csd frame size
fix T2750
2015-09-28 14:02:02 -04:00
Mike Blumenkrantz 51789af53c _GTK_FRAME_EXTENTS changes using a property, not a client message 2015-09-28 14:01:47 -04:00