Commit Graph

20813 Commits

Author SHA1 Message Date
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
Amitesh Singh c27ecb89fb md5: fix wrong sizeof argument (SIZEOF_MISMATCH)
Summary: fixes CID: 222382

Reviewers: raster, zmike, cedric, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, seoz, sachin.dev

Differential Revision: https://phab.enlightenment.org/D3125
2015-10-01 16:20:23 -04:00
Mike Blumenkrantz 982d4390f8 unset release mode 2015-10-01 13:52:35 -04:00
Mike Blumenkrantz b848dbcb48 20.0-alpha NEWS updates 2015-10-01 13:43:25 -04:00
Mike Blumenkrantz a43b49871d 20.0-alpha release 2015-10-01 13:43:16 -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
Boram Park 00a597213d wl_desktop_shell: return void
Summary:
_e_input_panel_cb_surface_get() returns void.

Signed-off-by: Boram Park <boram1288.park@samsung.com>

Reviewers: zmike, stefan_schmidt, gwanglim, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3119
2015-10-01 08:43:19 -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 ff1577b771 merge E19 branch NEWS items 2015-09-30 15:31:34 -04:00
Mike Blumenkrantz f8c32c2478 update wayland readme 2015-09-29 19:01:04 -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 06948d1a26 remove object event callback on notification popdown
==24509== Invalid write of size 8
==24509==    at 0x2C5ED500: _notification_popup_del_cb (e_mod_popup.c:404)
==24509==    by 0x91AAE93: _eo_evas_object_cb (evas_callbacks.c:92)
==24509==    by 0xE54DDEA: _eo_base_event_callback_call (eo_base_class.c:715)
==24509==    by 0xE54B67A: eo_event_callback_call (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x91AB323: evas_object_event_callback_call (evas_callbacks.c:264)
==24509==    by 0x91E8DE3: _evas_object_eo_base_destructor (evas_object_main.c:691)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x60A3019: _edje_object_eo_base_destructor (edje_smart.c:43)
==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 0x6091146: edje_match_callback_exec_check_finals (edje_match.c:556)
==24509==    by 0x6091146: edje_match_callback_exec (edje_match.c:711)
==24509==    by 0x60974AE: _edje_emit_cb (edje_program.c:1453)
==24509==    by 0x60974AE: _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 0x23b3dcb0 is 16 bytes inside a block of size 80 free'd
==24509==    at 0x4C2A65B: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==24509==    by 0x2C5ED606: _notification_popdown (e_mod_popup.c:747)
==24509==    by 0x2C5ED952: _notification_reshuffle_cb (e_mod_popup.c:700)
==24509==    by 0x91AAE93: _eo_evas_object_cb (evas_callbacks.c:92)
==24509==    by 0xE54DDEA: _eo_base_event_callback_call (eo_base_class.c:715)
==24509==    by 0xE54B67A: eo_event_callback_call (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x91AB323: evas_object_event_callback_call (evas_callbacks.c:264)
==24509==    by 0x91E8DE3: _evas_object_eo_base_destructor (evas_object_main.c:691)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x60A3019: _edje_object_eo_base_destructor (edje_smart.c:43)
==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 0x504CEF: _e_zoomap_smart_del (e_zoomap.c:266)
==24509==    by 0x91F5ABC: evas_object_smart_del (evas_object_smart.c:1019)
==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 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 0x458C7A: _e_comp_object_util_del (e_comp_object.c:2402)
==24509==    by 0x91AAE93: _eo_evas_object_cb (evas_callbacks.c:92)
==24509==    by 0xE54DDEA: _eo_base_event_callback_call (eo_base_class.c:715)
==24509==    by 0xE54B67A: eo_event_callback_call (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x91AB323: evas_object_event_callback_call (evas_callbacks.c:264)
==24509==    by 0x91E8DE3: _evas_object_eo_base_destructor (evas_object_main.c:691)
==24509==    by 0xE54A8A3: eo_destructor (in /usr/lib/libeo.so.1.15.99)
==24509==    by 0x60A3019: _edje_object_eo_base_destructor (edje_smart.c:43)
==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 0x6091146: edje_match_callback_exec_check_finals (edje_match.c:556)
==24509==    by 0x6091146: edje_match_callback_exec (edje_match.c:711)
==24509==    by 0x60974AE: _edje_emit_cb (edje_program.c:1453)
==24509==    by 0x60974AE: _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:51:36 -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
Mike Blumenkrantz ed9cd0ea61 reject identical calls to e_comp_object_frame_geometry_set() 2015-09-28 14:01:02 -04:00
Carsten Haitzler d0de6eb4fa e - efm fix. fix eio error handler that is called after eio cancel
so you have to have an error cb - so make it empty as even after a
canel, it is called, and thus accesses an invalid icon we've freed.
2015-09-28 16:49:53 +09:00
Carsten Haitzler f468361817 efm - handle cancel of async eio if icon is freed and eio still active
@fix
2015-09-28 16:29:12 +09:00
Mike Blumenkrantz bb557cbf9f force pixmap clear when hiding an x11 window
failure to refetch this upon remapping the window will result in
a broken pixmap which cannot be rendered
2015-09-25 23:41:29 -04:00
Mike Blumenkrantz 0e3cc2f533 don't call e_client_unignore() when un-withdrawing an x11 window
these clients were not ignored on creation, so they've already triggered
all the relevant events
2015-09-25 22:37:16 -04:00
Mike Blumenkrantz 6b282ffe22 bump required efl version 2015-09-25 22:25:02 -04:00
Mike Blumenkrantz 2c73a0b311 map/unmap x11 client windows when toggling iconic state
ICCCM 4.1.4
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz 80a9240e7a initialize pixmap size vars in comp resize interceptor
these are never uninitialized when they are used, but this
is not obvious to the reader

CID 1324956, 1324956
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz ec7752cc90 set x11 supported atom array size correctly
CID 1324958
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz 1c36bb8333 fix handling of x11 ICCCM WithdrawnState
according to ICCCM 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state

withdrawn windows cannot be shown under any circumstances. the best that can
be done is to try mapping the window and hope it decides to appear.

to prevent any inadvertent showing of the window before it leaves the
withdrawn state, we play games with the E_Client->ignored flag in order
to skip client evals until we get notified that maybe we want to stop
skipping those evals

ref T2745
2015-09-25 21:56:14 -04:00
Mike Blumenkrantz 8a764901c6 check warp_client existence during pointer warp before dereferencing it
ref T2679
2015-09-25 16:26:50 -04:00
Carsten Haitzler 61ba406001 Revert "Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it""""
This reverts commit 2373b69c61.

stop crashing on restart
2015-09-25 08:23:39 +09:00
Mike Blumenkrantz 6252ac29da add csd case for compositor frame adjust messages
not 100% perfect, but close enough
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 7967f9983d move compositor frame adjust messages to pixels_get callback
native surfaces don't call e_comp_object_render()
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 5efb157c0c set comp object client_inset.calc based on frame_object existence 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 2b38eb9712 block border-affecting client functions for csd clients 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 14283ffefa block border-affecting entries from showing up in client menu with csd 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz a4ebee266d fix e_shelf_position_calc() to not set struct members before applying them
fix T2743
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 39a39a41c8 add util function for determining if a client is allowed to have a frame
returns false if mwm borderless is set or if csd exists
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz b8322b2b0e fully support _GTK_FRAME_EXTENTS
gtk apps set an atom which provides information about the area
where non-window content (eg. shadows) may be drawn; this area
must not be used in placement calculations.

the easiest method for implementing this functionality was to add
a case to the compositor geometry interceptors which effectively
flip the client struct geometry values such that the E_Client->client
is outside of the more commonly used E_Client->x/y/w/h

fix T2744
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz d1454e4e1a broadcast support for _GTK_FRAME_EXTENTS
this is not actually supported yet, so behavior of windows using this
feature will be more wayland-like, eg. geometry determined by area
of window+shadow

fix T2744
2015-09-24 16:33:56 -04:00