Commit Graph

21629 Commits

Author SHA1 Message Date
Mike Blumenkrantz 69fe80959b manually calc bryce center-screen coords
e_comp_object_util_center_pos_get() uses zone useful geometry
2016-03-08 13:00:43 -05:00
Derek Foreman df7bc5963d Remove argb_convert for wayland buffers
Wayland buffers are currently either ARGB or XRGB - we don't need to
convert either of these, we just need to set alpha appropriately - which
we now do.
2016-03-08 12:46:32 -05:00
Derek Foreman b4bcb1dc23 Don't use e_pixmap_image_data_argb_convert for wayland images
All we really need for wayland is to set alpha properly, so we can
save the conversion/copy when doing XRGB.
2016-03-08 12:46:32 -05:00
Derek Foreman 2e0e74f087 Stop copying all wayland buffers
The new buffer management shouldn't require this anymore.
2016-03-08 12:46:32 -05:00
Derek Foreman e4490c4bf6 Re-enable window close animations for wayland
These should work properly with the new buffer management code.
2016-03-08 12:46:32 -05:00
Derek Foreman 36586fbf9c Remove wayland buffer reference
This code is similar to code in weston, but doesn't really work properly
for us in E, since this can blow up buffers behind the async renderer's
back.

The rest of the reference code has been pushed into e_pixmap, so we can
kill this all now.
2016-03-08 12:46:32 -05:00
Derek Foreman dfc7c26ce4 Rework wayland buffer handling
We need to keep wayland buffers around even if they'll never be written
to again.  This is part of Buffer_Reference's task in weston, but we
already have our pixmap abstraction which can serve mostly the same
purpose.

Remove the "buffer reference" stuff from e_pixmap and replace it with a
kept buffer for the last commit.

Add shared memory pool references to keep pools from going away on us.
2016-03-08 12:46:32 -05:00
Derek Foreman b98e78d464 Track whether a render is in progress or not
We'll need this to protect certain wayland operations.
2016-03-08 12:46:32 -05:00
Derek Foreman 33582859e2 Don't allow deleted wayland clients to set the cursor 2016-03-08 12:46:32 -05:00
Derek Foreman 65166c5a36 Take an extra reference on wayland clients
We need to make sure wayland clients aren't deleted while the scene
graph has their data pointers, so we take an extra reference when creating
them.

We drop that reference by clearing the client's image data and putting it
in the render post_updates list.
2016-03-08 12:46:32 -05:00
Derek Foreman a35c7637a2 Track whether objects are on the post_updates list or not
Will use this to prevent accidentally adding objects to the list twice
2016-03-08 12:46:32 -05:00
Derek Foreman ac47fd61ca Render deleted objects as long as they still have a pixmap
In wayland we can be presented with a new frame before being deleted.  If
we've never displayed that frame we should (since we released all pointers
to the old frame when we got the new one)
2016-03-08 12:46:32 -05:00
Derek Foreman e5e887c773 Add a NULL check in native_surface_init under wayland 2016-03-08 12:46:32 -05:00
Mike Blumenkrantz b3cda14e1b add bryce autohide/size getters, pull related values into wizard 2016-03-08 12:43:35 -05:00
Mike Blumenkrantz 82a4dbda8d enforce accurate resizing/orienting when changing the location of a bryce 2016-03-08 12:31:10 -05:00
Carsten Haitzler 0d9af6c3d6 e xkbswitch: don't free layouts that are just pointed to in instances
we free the instance layout even though tthis is never duplicated but
jhust set to point to the current_layout. don't free it as this causes
a double-free. this fixes a crash here.

@fix
2016-03-08 13:45:59 +09:00
Mike Blumenkrantz 114a604166 apply x11 focus/unfocus using jobs
if multiple x11 clients receive focus during the same mainloop iteration,
an almost unbreakable cycle of window focus chaining will occur, resulting in
both windows being focused simultaneously--or so it appears--which results in
no window being able to receive input. to avoid this, ensure that only one x11
client can receive focus in a given loop iteration
2016-03-07 14:47:26 -05:00
Mike Blumenkrantz 7e91bc721a apply x11 mouse in event for clients using a job
due to event bursts, it's possible for multiple x11 clients to receive
mouse in events on during the same main loop iteration. in this scenario,
only the last client has received an actionable mouse in, and applying this
event after the dispatch has completed ensures that multiple clients do not
all receive mouse in+out events during the same loop

this greatly improves mouse-based focus reliability in a number of cases
2016-03-07 14:45:32 -05:00
Mike Blumenkrantz e385bfa2d6 only use x11 mouse out event if client has received mouse in previously 2016-03-07 14:44:16 -05:00
Mike Blumenkrantz 0ba369330d reverse ordering for x11 client mouse in NotifyVirtual and NotifyInferior details
apparently I did this backwards.

ref 7b7dbbc249
2016-03-07 14:43:02 -05:00
Mike Blumenkrantz b4559055a7 reject x11 client mouse-in events on comp object based on frame geometry
mousing over a window for an x11 client should always yield x11 mouse events
in cases where mouse eventing is required; any events occurring on the comp
object in other cases inside the xwindow region are able to be ignored
2016-03-07 14:40:27 -05:00
Mike Blumenkrantz 9002c4d7a5 Revert "send mouse out+in on desk flip end"
This reverts commit 782cf3606e.

should be resolved in a better way with upcoming commits
2016-03-07 14:39:56 -05:00
Mike Blumenkrantz 9589ec7d54 stack time gadget popups on POPUP layer 2016-03-07 11:34:17 -05:00
Mike Blumenkrantz c139796082 delete gadget display object during object deletion
fixes crashing when unloading modules with active gadgets
2016-03-04 17:29:15 -05:00
Mike Blumenkrantz 57dca73586 require >= efl 1.17.1 for gadget theme stuff 2016-03-04 14:23:44 -05:00
Mike Blumenkrantz f87020189c add bryce editor to Desktop item in main menu 2016-03-04 14:23:44 -05:00
Mike Blumenkrantz 863a50acbb bump config version, add mouse/wheel bindings for manipulating gadgets/bryces
this copies the user's current bindings for moving/resizing/menu on a window
and applies them to gadget-related objects for UX coherency
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz 21a6a600c3 add button to desklock config dialog for configuring gadgets
the current security policy for this is based on two points:
1) don't add gadgets to your lockscreen that you don't want on your lockscreen
2) see #1

future improvements here will probably add gadget info to show what risks a gadget
may incur when placed on the lockscreen
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz dad9160ffa add new time module with clock gadgets
this is the successor to the clock module/gadget. it uses separate config files
and theme groups from the "clock" module.
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz 24fe43d735 add new wireless module/gadget
this is the successor to the connman module/gadget. it does not use
or depend on econnman.
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz f527e6c8fb add new start gadget
this is identical to the old one so it will just be merged into the existing module
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz 6e032ce35d add bryces: new shelf replacement
see e_bryce.h
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz d26c49b3ce add new gadget system
see e_gadget.h
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz d3fe687ada add a namespaced version of efx
this will eventually be merged into the efl tree but the current release
cycle is not a good time for it
2016-03-04 14:23:44 -05:00
Mike Blumenkrantz d4996e2db3 trigger mouse binding end callbacks on mouse up
broken by copy/paste errors last month

ref fe5d2e6e61
2016-03-04 13:08:09 -05:00
Mike Blumenkrantz ed7a0246f9 don't directly use image data when creating a comp object mirror
in the case where pixmap image data does not yet exist, the returned
pointer will be garbage data from the internal buffer
2016-03-04 13:06:41 -05:00
Mike Blumenkrantz 1a93efc3ae trigger elm config save during e config save
if an e config save is queued, it may also be the case that an elm config
value has been updated due to the intertwined nature of these configs.
adding a silent save here without a flush will account for such cases
2016-03-01 11:38:55 -05:00
Chris Michael 5b8d133d76 add prototype functions for missing wl_data_source interface
As we require wayland 1.10 now, there were missing functions for the
wl_data_source interface. This patch just adds placeholders for those
missing functions until we can implement them

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:52:50 -05:00
Chris Michael 0fb83f8c84 don't call deprecated ecore_drm_fb_set function when displaying drm
alert box

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:47:19 -05:00
Chris Michael dfce9c44fe add prototype function for missing wl_seat interface
As we require wayland 1.10 now, the wl_seat_interface implementation
was missing a function pointer for the 'release' request. This patch
just implements a function placeholder until we can implement it.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:45:21 -05:00
Chris Michael 0275987d69 add prototype functions for missing wl_data_offer interface
As we require wayland 1.10 now, there were missing functions for
wl_data_offer interface. This patch just adds placeholders for those
missing functions until we can implement them

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:27:13 -05:00
Chris Michael 993f387433 don't define variables that we are not going to use
If our efl version is not >= 1.18, then the rotations and orient
variables here end up being unused. This patch just moves those
variables (and their usage) inside the 1.18 version check

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:22:21 -05:00
Mike Blumenkrantz 1507f815a5 do not add render updates during damage of deleted clients 2016-02-29 13:33:52 -05:00
Mike Blumenkrantz fb51f4d98d remove impossible null check in color dialog
CID 1294267
2016-02-29 10:43:02 -05:00
Mike Blumenkrantz fac201c528 simplify ipc socket creation
in trying to be extra secure here, a security hole is created due to time
between mkdir and stat calls

CID 1039781
2016-02-29 10:43:02 -05:00
Mike Blumenkrantz dc33712069 remove ipc command allowing arbitrary command execution by the compositor
http://i2.kym-cdn.com/photos/images/facebook/000/565/399/9c0.jpg

CID 1291836
2016-02-29 10:43:02 -05:00
Mike Blumenkrantz fd8cbcd9f0 simplify static grab case statements
CID 1267213
2016-02-29 10:43:02 -05:00
Mike Blumenkrantz d6802e9c42 use uint instead of int for eina_list_count() return in cpufreq (trivial)
CID 1267212
2016-02-29 10:43:02 -05:00
Mike Blumenkrantz bd0142536a remove useless client_add handler in e_ipc
CID 1267210
2016-02-29 10:43:02 -05:00
Mike Blumenkrantz 8eae3f3a96 remove unused value in config profile saving
CID 1261287
2016-02-29 10:43:02 -05:00