Commit Graph

21930 Commits

Author SHA1 Message Date
Mike Blumenkrantz 4e3ea4f6b3 add some internal functions for triggering fake screen hotplug events
debugging is fun
2016-12-09 11:52:03 -05:00
Mike Blumenkrantz 3bae673848 null out bryce and site pointers when deleting bryce object
fixes handling of bryces when changing screen setup
2016-12-09 11:52:03 -05:00
Chris Michael 20166f16be make mouse pointer visibility syn with hotplug/un-plug
This patch makes the mouse pointer disappear when the physical mouse
device is unplugged. It also makes the mouse pointer reappear when a
physical mouse is hotplugged.

NB: There is one small hiccup with this patch and that is: when you
re-plug the mouse in the pointer itself doesn't show until you
physically move the mouse. Tried several things locally to sort it
out, but no success :/

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-09 08:56:32 -05:00
Mike Blumenkrantz f1c70e626f null out animator pointers in efx stop() operations 2016-12-08 11:20:45 -05:00
Derek Foreman ae9d2904c7 test dmabuf pixmaps properly
If we can't handle a dmabuf format we now properly tell the client instead
of accepting it anyway and falling apart later.
2016-12-06 16:37:35 -06:00
Mike Blumenkrantz fd6b264b1d maintain "empty" object's size hints when ibar/ibox resizes
the sizing issue in all of these tickets was caused by the "empty" object
being deleted, thus allowing the box to reset to 0x0 size hints and
returning this value as the overall size during recalc; the result is that
all icons would be sized at 0x0 instead of using the preserved orient size
as expected

fix T4509, T4647, T4830, T4733, T4524
2016-12-06 11:39:33 -05:00
Mike Blumenkrantz 3b1242e314 revert all sizing commits to ibar/ibox for the past year
the assumption that this code was making assumptions about elm_box
internals based on a shallow reading of the code was incorrect, and
the resulting "fix" (and subsequent attempts to bandaid it) has left these
gadgets in an unusable state for the past half year.

disappoint.jpg

this reverts the following commits:

f97f8f61ac
ebfa4a97cd
50030dc693
42aa6be359
504706d45a
b1f608c5e6
b107dc1cdc
3fc195cd9f
2016-12-06 11:27:50 -05:00
Mike Blumenkrantz 0e4ddaffbe use better check for getting wl surface alpha from cursor pixmaps
ref 6ba85cf864
2016-12-05 11:05:24 -05:00
Mike Blumenkrantz b1037cbc5c Revert "Check for deleted client in e_pixmap_image_is_argb"
This reverts commit 6ba85cf864.

returning false here causes csd regions to become opaque (black) during
close animations
2016-12-05 11:05:24 -05:00
Mike Blumenkrantz 8f39054965 handle pass_event clients in e_comp_object_coords_inside_input_area
fix T4966
2016-12-05 11:05:24 -05:00
Mike Blumenkrantz ca7c77d05e fix internal wl windows to exit when border X is clicked 2016-12-05 10:49:06 -05:00
Carsten Haitzler a15ac5f039 temp module - avoid a bit of cpu sendingh edje message if temp same
each poll - check if temp actually changed and only send edje message
if tempt actually did change. saves some cpu while polling in the bg
for these things.

@optimize
2016-12-04 22:46:02 +09:00
Carsten Haitzler bdbd0f4753 e cpufreq - dont emit message for min/max/cur freq if they didnt change
saves some cpu when idile and polling cpu fre and finding nothing
changed.

@optimize
2016-12-04 22:42:47 +09:00
Carsten Haitzler 1c8c57b702 temp - udev pol - do in mainloop and suffer as appropriate
if a poll takes a few hundred ms ... the so be it. udev is for
mainloop only. don't use it - that's my advice (for temp module).

:)
2016-12-03 11:30:01 +09:00
Stephen okra Houston cf1d253c56 Pager Gadget: Don't recalculate the pager if the zone is NULL.
This fixes https://phab.enlightenment.org/T4960
2016-12-02 11:28:10 -06:00
Marcel Hollerbach a4a9a5a628 luncher: delete the popup if there is already one
Otherwise we have two which are locking the bryce onto the screen
2016-12-02 17:17:55 +01:00
Mike Blumenkrantz e42b072f38 attempt to re-set wl surface pointer when popping back to "default" pointer type
this automatically handles the case where enlightenment has commandeered the
cursor temporarily and the active client has not unset+set a new cursor in the
meantime
2016-12-02 10:54:06 -05:00
Mike Blumenkrantz 5f246e079b set wl pointer surfaces to E_LAYER_CLIENT_PRIO during setup
these later get overridden onto the pointer layer, but setting a layer
here ensures that the pointer surface will always be the client
returned by e_client_top_get()
2016-12-02 10:54:06 -05:00
Mike Blumenkrantz 647e998b72 do not pop pointer types on client hide events if the client is pass_events
these clients cannot receive events and thus have no pointer to pop
2016-12-02 10:54:06 -05:00
Chris Michael 4aba7e7beb remove unused variables in e_comp_wl
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 10:41:46 -05:00
Mike Blumenkrantz 531fcb8577 apply better algorithm during xdg6 positioner slide calc
try useful geometry, then base zone geometry. also restrict slide to being
adjacent to parent surface's anchor
2016-12-02 10:23:04 -05:00
Mike Blumenkrantz 6f4d77d10a disable xdg6 positioner resize hints
this is stupid so we're not going to do it

 #leadership
2016-12-02 10:04:52 -05:00
Chris Michael ba035ff807 mark Ecore_Thread parameter as EINA_UNUSED
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:34:24 -05:00
Chris Michael 7d8266995d verify shell client delete functions are operating on wayland clients.
ref cc795bfbda

Fixes T4958

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:29:44 -05:00
Chris Michael cc795bfbda Revert "verify valid client comp_data before accessing it directly"
Reverting this in favor of a different fix.

This reverts commit bbad744060.
2016-12-02 09:25:54 -05:00
Chris Michael bbad744060 verify valid client comp_data before accessing it directly
ref 8173c06c4d

Fixes T4958

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-02 09:12:29 -05:00
Carsten Haitzler c5a293919b temperature module - more non-eeze system fixes
i have eeze so i didnt notice. thanks @netstar

fixes D4446
2016-12-02 11:53:54 +09:00
Al Poole f740616961 bsd patch from netstar fixing threaded tempget
this fixes T4945 .
2016-12-02 11:52:12 +09:00
Mike Blumenkrantz cd4c3ecc5d free xdg-shell data for xdg5 surfaces 2016-12-01 12:14:25 -05:00
Mike Blumenkrantz 8173c06c4d add handler for triggering xdg-shell data cleanup on client del
in the case of internal windows, the client is deleted before any surfaces
are destroyed. this requires a special case to perform cleanups in order to
prevent client objects from leaking
2016-12-01 12:14:25 -05:00
Derek Foreman 41e60d251e Stop sending key up/down events on focus change under wayland
We shouldn't be doing this, but there's a collective memory that
this was put in place to fix stuck modifier bugs.

If we run into stuck modifiers again because of this patch, then we
should be fixing them in a different way.

If anyone bisects to this point, I apologize - assign me a ticket.
2016-12-01 10:55:49 -06:00
Mike Blumenkrantz 08ee9293df feed mouse move and canvas mouse up upon breaking a wl surface grab
ensure that the hw pointer location and the cursor location match after grabs

fix T4939
2016-12-01 11:22:42 -05:00
Carsten Haitzler a94ba7cbfd e tempget module - mode to using threads instead of tempget binary
this should reduce mem usage by a sub binary and aso solve the sub
shell kill issue too nd still keep the polling of system status out of
the mainloop and keep it unblocked.
2016-12-01 08:49:33 +09:00
Carsten Haitzler 8934ada4d8 e_util_defer_object_del - ensure order of deferred deletions are right
so since e_util_defer_object_del used a before idler this would
reverse deletion order vs the order submitted. this may cause issues.
not sure. chasing netstar's "animator stops" issue, but if defered
deletion if disabled seems to stop it from happening.

at least fix order if multiple deferred deletions are queued

@fix
2016-12-01 08:49:33 +09:00
Derek Foreman 60617c82d7 More aggressively prune keyboard focus list
Even if a client is deleted we still need to get its resources off the
keyboard focus list.
2016-11-30 14:48:54 -06:00
Derek Foreman ce34c550e7 Fix crash when exiting an xdg shell application
The focus in timer has been firing for deleted clients, this causes a
NULL pointer dereference.

Then again, maybe the timer should've been disabled by now...
2016-11-30 14:48:54 -06:00
Derek Foreman 8245c1eb7a Fix keyboard tracking when leaving an xdg shell window
_parent_client_contains_pointer() shouldn't return true if there is no
parent client.  This could result in leaving stale resources in the
keyboard focus list and crash the compositor.
2016-11-30 14:48:54 -06:00
Mike Blumenkrantz ca5176e6fa handle input detection for wl surface grabs more accurately using stacking
this should more accurately handle cases where mouse movements over grabbed
surfaces are intercepted by overlapping windows
2016-11-30 12:46:54 -05:00
Mike Blumenkrantz f83045dc62 move the comp canvas cursor object during wl surface grabs
the struct member is not guaranteed to be the visible object, so get
the ee cursor and move that
2016-11-30 12:34:30 -05:00
Mike Blumenkrantz a3a239c1d0 use correct coords for determining input region calcs on comp objects 2016-11-30 12:34:30 -05:00
Derek Foreman 3313f0f26d Fix crash on xdg shell unbind
Running weston-simple-dmabuf-intel and killing it could crash E in
xdg_shell_unbind.
2016-11-30 10:19:40 -06:00
Mike Blumenkrantz f58eb2db7b use more accurate determination for applying xdg-shell (un)maximize operations
fixes maximizing again
2016-11-30 11:16:24 -05:00
Derek Foreman d0b0f81fb7 teamwork: Use emile SHA1 functions
Remove the SHA1 functions in the module in favour of the ones now present in
EFL
2016-11-29 11:32:25 -06:00
Derek Foreman 6ba85cf864 Check for deleted client in e_pixmap_image_is_argb
Fixes a crash when closing Qt applications.
2016-11-29 11:13:50 -06:00
Mike Blumenkrantz f5788293b5 check gravity variable for gravities when applying xdg6 positioners
fixes positioning

--(typo--)
2016-11-29 11:45:39 -05:00
Mike Blumenkrantz 632e4097b5 always send valid size geom when configuring xdg6 popups
sending 0x0 here when passed (which happens during initial commit)
breaks the universe
2016-11-29 11:44:29 -05:00
Mike Blumenkrantz 79d157f5d5 fix use of E_CONTAINS macro for xdg-shell positioners
last week was backwards week
2016-11-29 11:30:27 -05:00
Mike Blumenkrantz 7851769eab handle illegal xdg-shell resource unbinds
this occurs when the shell resource dies before all the surfaces/positioners
are destroyed. usually this means the client has aborted, so there's no point in
sending an error or doing anything beyond performing a thorough cleanup
2016-11-29 11:30:24 -05:00
Mike Blumenkrantz 50b2712f61 destroy xdg role surfaces if base surface is destroyed
this is illegal, but at least we should not leak the client when it happens
2016-11-29 11:09:31 -05:00
Mike Blumenkrantz 2a9d4e73c5 correctly handle xdg surface deletion and pointer clearing
fixes crashing/leaking when deleting surfaces
2016-11-29 11:08:46 -05:00