Commit Graph

23376 Commits

Author SHA1 Message Date
Mike Blumenkrantz 0f216c7e95 handle more mouse buttons under wayland
this was incorrectly referenced from weston's x11 compositor, which directly
uses xcb events and sends them as wl_pointer events. efl translates all input
events to use the same button scheme numbering, coincidentally enabling the use
of this code for all backends
2017-10-30 10:51:20 -04:00
Mike Blumenkrantz 47df20207d block wl modal window destructor from intercepting xwl modal windows
failing to pass these to the xwl destructor breaks the xserver

ref T5593
2017-10-30 10:29:39 -04:00
Mike Blumenkrantz ac49e6de22 unset xwayland client changes.pos flag during xwl->wl switch if client is unplaced
fixes some initial client positioning issues
2017-10-30 10:29:39 -04:00
Carsten Haitzler 4f8e3acfcf nvidia driver workaround atexit handlers for pam auth
this works around an apparently atexit() handler in nvidia drivers
that if you fork() a parent and do NOT exec() then the child process
will end up messing with the parent processes access to the nvidia
devices/display/whatever i believe via an atexit() handler because
moving from exit() to _exit() solves the issue. fixes T6197

@fix
2017-10-30 13:11:06 +09:00
scootergrisen df55db07df Update danish translation 2017-10-30 12:08:09 +09:00
Carsten Haitzler 3daf3ac456 e main - xdg runtime dir fixup - dont overwrite same buffer
this path i never saw triggered before on linux because xdg runtime
dir is set... but if it isn't... dont mess up the runtime dir path

@fix
2017-10-28 23:43:50 +09:00
Mike Blumenkrantz 3d701839b6 send wl pointer leave for deleted clients if viable 2017-10-27 13:21:03 -04:00
Mike Blumenkrantz bbb3ec1fc5 unset client's mouse-in state on mouse out even while fullscreen or deleted
the state should always be updated regardless of these attributes
2017-10-27 13:21:03 -04:00
maxerba 746a97746a Updating italian translation 2017-10-27 15:43:20 +02:00
Carsten Haitzler 32be41d505 ptr grab/ungrab for blank/unblank - log stages and work done for debug
looking to get more info for what is going on...
2017-10-26 10:50:37 +09:00
Chris Michael 5dc1c1c8eb wl-drm: Fix issue of not being able to set output mode
If we pass in screen geometry here when trying to set an output mode,
we can encounter "out of memory" errors from libdrm with outputs that
have a high resolution. As it turns out, we should be passing 0, 0 for
the x/y values when trying to set an output mode.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-10-25 15:28:46 -04:00
Derek Foreman fa1a858356 Fix crash on wayland logout if xwayland hasn't started yet
If xwayland hasn't started yet then the root window id is 0, which is
invalid, so we crash in e_comp_x_shutdown.
2017-10-25 14:17:10 -05:00
Derek Foreman 930cf317d6 Clear stored root window id when shutting down X
Currently e_comp_util_has_x() will still return true after the X
machinery is shut down - this can lead to crashes on logout under
wayland when xwayland apps are running.  Clearing the root window
id resolves this.

@ref T5593
2017-10-25 10:45:05 -04:00
Mike Blumenkrantz c09b2f35dd add client refs for volume control sinks
ref T6150
2017-10-25 10:45:05 -04:00
Mike Blumenkrantz 40be5b9d45 move x11 compositor cleanup into shutdown function 2017-10-25 10:45:05 -04:00
Derek Foreman 680b7b485d Fix xwayland related crash when mousing out of a window
XWayland likes to set a buffer on the cursor surface then delete it before
we release it.  I'm pretty sure when a client does that we're within spec
to just kill it, but users will likely find this response ungratifying.

So, instead, just gracefully fail to render the undefined surface.

@ref T5593
2017-10-24 13:57:00 -05:00
Mike Blumenkrantz aee4c2ef73 unset release mode 2017-10-23 09:30:05 -04:00
Mike Blumenkrantz 1d2a678ab0 0.22.0-rc NEWS updates 2017-10-23 08:40:12 -04:00
Mike Blumenkrantz c83fc089a7 22.0-rc release 2017-10-23 08:36:23 -04:00
Mike Blumenkrantz 674d5c4694 require efl 1.20.5 2017-10-20 14:36:07 -04:00
Mike Blumenkrantz 4845823d74 make some find_program() calls non-required in meson build
reported by wltjr
2017-10-20 13:40:20 -04:00
William L. Thomson Jr 4d96d55c15 meson: Make sleep.sh and hibernate.sh not required, fixes T6210 2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 02ea045ca7 cancel wl selections after removing destroy listener
cancel may destroy the selection source, resulting in invalid access

==10735== Invalid write of size 8
==10735==    at 0x87C8095: wl_list_remove (wayland-util.c:56)
==10735==    by 0x2EE745: _e_comp_wl_data_device_selection_set (e_comp_wl_data.c:506)
==10735==    by 0x2EF241: _e_comp_wl_data_device_cb_selection_set (e_comp_wl_data.c:714)
==10735==    by 0x1021F037: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x1021EA99: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x87C70C0: wl_closure_invoke (connection.c:935)
==10735==    by 0x87C13C8: wl_client_connection_data (wayland-server.c:406)
==10735==    by 0x87C4483: wl_event_source_fd_dispatch (event-loop.c:90)
==10735==    by 0x87C4DE4: wl_event_loop_dispatch (event-loop.c:423)
==10735==    by 0x85AE346: _cb_create_data (ecore_wl2_display.c:399)
==10735==    by 0x946857A: _ecore_call_fd_cb (ecore_private.h:347)
==10735==    by 0x946AE51: _ecore_main_fd_handlers_call (ecore_main.c:2015)
==10735==    by 0x946B823: _ecore_main_loop_iterate_internal (ecore_main.c:2403)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
==10735==  Address 0x222ca980 is 16 bytes inside a block of size 136 free'd
==10735==    at 0x4C2CE1B: free (vg_replace_malloc.c:530)
==10735==    by 0x2F076F: e_comp_wl_clipboard_source_unref (e_comp_wl_data.c:1291)
==10735==    by 0x214C6A09: _xwayland_send_cancelled (dnd.c:149)
==10735==    by 0x2EE71D: _e_comp_wl_data_device_selection_set (e_comp_wl_data.c:504)
==10735==    by 0x2EF241: _e_comp_wl_data_device_cb_selection_set (e_comp_wl_data.c:714)
==10735==    by 0x1021F037: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x1021EA99: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x87C70C0: wl_closure_invoke (connection.c:935)
==10735==    by 0x87C13C8: wl_client_connection_data (wayland-server.c:406)
==10735==    by 0x87C4483: wl_event_source_fd_dispatch (event-loop.c:90)
==10735==    by 0x87C4DE4: wl_event_loop_dispatch (event-loop.c:423)
==10735==    by 0x85AE346: _cb_create_data (ecore_wl2_display.c:399)
==10735==    by 0x946857A: _ecore_call_fd_cb (ecore_private.h:347)
==10735==    by 0x946AE51: _ecore_main_fd_handlers_call (ecore_main.c:2015)
==10735==    by 0x946B823: _ecore_main_loop_iterate_internal (ecore_main.c:2403)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
==10735==  Block was alloc'd at
==10735==    at 0x4C2DC05: calloc (vg_replace_malloc.c:711)
==10735==    by 0x2F0520: e_comp_wl_clipboard_source_create (e_comp_wl_data.c:1231)
==10735==    by 0x214C71C9: _xwl_selection_notify (dnd.c:286)
==10735==    by 0x946130C: _ecore_call_handler_cb (ecore_private.h:331)
==10735==    by 0x94626BC: _ecore_event_call (ecore_events.c:629)
==10735==    by 0x946B83E: _ecore_main_loop_iterate_internal (ecore_main.c:2408)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 160d6b91a0 null wl clipboard+selection source pointers when destroying clipboard source
fix T6242
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz b24b68df77 set null input regions for surfaces upon calling set_cursor or start_drag
these surfaces have no input region according to spec
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 5cab9486f3 ignore set_input_region requests for wl surfaces which are cursors or drags
according to spec this is correct behavior
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz b3356a7e8f do not unqueue render when deleting a client's render update
a render loop may run for reasons other than rendering a specific client
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz ef69fabd47 add client refs for the nocomp client
this client may be referenced after deletion during render loop

fix T6151
2017-10-20 13:40:20 -04:00
Carsten Haitzler 0fada40917 smart suspend - honor suspend on ac or not flag as it should
so if you closed the lid ANd didn't have external screens ANd had ac
plugged in ... e would suspend even if youdidn't have "suspend on ac"
checked in blanking dialog. respect this and handle it properly.

@fix

side note... i've notced acpid no longer reporting lid events on one
of my systems. this is very sucky. you now have to open
/dev/input/event2 (this may vary from device to device) to get lid
events... it's an input device. this means elput needs to start doing
this as we cant get power button or lid events anymore .... and we may
have to do this for x11 too.
2017-10-18 13:33:47 +09:00
Carsten Haitzler 929037aaa0 battery modules - actually set ac power flag based on ac presence
this should fix T3649

@fix
2017-10-18 13:32:50 +09:00
Mike Blumenkrantz f20765df67 add render update when showing clients if damages exist
ensure that these clients render as expected

ref T5593
2017-10-13 09:46:19 -04:00
Marcel Hollerbach b8c5f0c280 meson: the keyword is value, not default!
#SomeoneDidNotReadTheDoc
2017-10-13 13:44:06 +02:00
Stephen Houston 39b0632f40 Align the preview properly. 2017-10-11 16:21:23 -05:00
Stephen Houston c234be9485 Luncher: Don't manually apply min sized aspect - The edje aspect set call handles this. 2017-10-11 14:08:15 -05:00
Stephen Houston 213bb6ba32 Luncher: Keep aspect on previews - don't force max sizes.
This fixes T6074 T6075
2017-10-11 14:03:57 -05:00
Mike Blumenkrantz 28ff209159 recreate x11 root pointer when changing application<->enlightenment theme
force new visual to be applied immediately instead of requiring a compositor
restart
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz fd68c99b64 always use e cursor theme for canvas pointers
canvas pointer = wl compositor pointer = always use e theme since there is no
loader for x11 cursors
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz caab810b39 check for non-wl compositor when forcing application cursors onto pointers
comp_type is not set during initial pointer creation on startup but will be set at
the point of xwl startup, so use a check which will succeed

fix T6157
ref 2b8c70fe98
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz 03982a1408 Revert "do not apply enlightenment cursor theme for xwayland clients"
This reverts commit 80abcc5600.

sort of worked, sort of irrelevant
2017-10-09 07:09:38 -04:00
Carsten Haitzler b60ff200e9 e sys - handle phantom wakeups from sleep on some devices
this laptop wakes from suspend if you plug or unplug it while
suspended. this leads to bad things. fix nthis by checking lid state
and resuspending if this happens.

@fix
2017-10-07 20:28:24 +09:00
Mike Blumenkrantz eba50312b4 use e_client_unfullscreen() to handle xdg-shell unfullscreen requests
ensure that previous window states get accurately reapplied when unfullscreening,
e.g., maximize
2017-10-06 11:36:53 -04:00
Mike Blumenkrantz d7a08ed74e block relative motion event sending when pointer is outside input area
stop sending events to xwl clients at all times
2017-10-05 12:26:19 -04:00
Mike Blumenkrantz 80abcc5600 do not apply enlightenment cursor theme for xwayland clients
wayland always uses the client's cursor, so maintain that consistency
2017-10-05 11:42:24 -04:00
Mike Blumenkrantz b49e968d74 move cursor theme options into separate frame 2017-10-05 11:28:41 -04:00
Mike Blumenkrantz f0ab6a74f5 do not show cursor theme options in wayland compositor mode
this isn't how wayland works, so don't let users footgun themselves
2017-10-05 11:25:07 -04:00
Mike Blumenkrantz 99cfdbffda move 'show cursor' option in mouse settings inside frame 2017-10-05 11:20:18 -04:00
Mike Blumenkrantz 474845bc6f Revert "disable option for mouse to use Application theme if we are running in Wayland"
This reverts commit 9e3b8b7528.

this only affects runtime in wayland-only environments while not preventing the option
from taking effect, meaning it affects nobody and prevents nothing
2017-10-05 11:15:54 -04:00
Mike Blumenkrantz 2b8c70fe98 set default cursor on root window for xwl pointer
ref T5593

 #TheDisappointer
2017-10-04 14:09:35 -04:00
Mike Blumenkrantz 8121f20a03 handle x11 shaped input under xwayland 2017-10-03 14:59:47 -04:00
Mike Blumenkrantz b686f3871d add max size input rects for wl clients on creation
according to spec, surfaces begin with infinite input area
2017-10-03 14:40:36 -04:00