Commit Graph

343 Commits

Author SHA1 Message Date
Chris Michael 50287ab731 ecore-wayland: Implement ivi-shell support for Ecore_Wayland
IVI-Shell is a wayland shell implementation for in-vehicle infotainment.

Summary: This is a set of patches proposed to implement IVI-Shell (https://phab.enlightenment.org/T1552).

Reviewers: ntanibata, devilhorns

Subscribers: mbachmann

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1350

@feature
2014-08-25 09:04:38 -04:00
Chris Michael e97af447ef Revert "Added support for xdg-shell protocol in ecore-wayland"
This reverts commit 2f4db577b5.
2014-08-13 10:35:00 -04:00
Chris Michael f041344f9d Revert "ecore-wayland: Fix formatting"
This reverts commit ff29972703.
2014-08-13 10:34:57 -04:00
Chris Michael 85aaa363ab Revert "ecore-wayland: Calloc Can fail, so check that it works (or return if"
This reverts commit a49835a8d1.
2014-08-13 10:34:55 -04:00
Chris Michael b0fd93a564 Revert "ecore-wayland: Fix formatting"
This reverts commit e14f40a46d.
2014-08-13 10:34:49 -04:00
Chris Michael 3291d32bf9 Revert "ecore-wayland: Add missing EINA_UNUSED for unused function paramater"
This reverts commit 67766929ca.

Revert all the xdg_shell changes. Should not have been pushed due to
new API function.
2014-08-13 10:34:28 -04:00
Chris Michael 75c166cd1d Revert "Added support for xdg-shell protocol in ecore-wayland."
This reverts commit e591dff56d.

Revert this. Should not have been pushed yet. Sorry Stefan !! :)
2014-08-13 10:29:58 -04:00
Srivardhan Hebbar e591dff56d Added support for xdg-shell protocol in ecore-wayland.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1328
2014-08-13 09:41:27 -04:00
Chris Michael 67766929ca ecore-wayland: Add missing EINA_UNUSED for unused function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:41:27 -04:00
Chris Michael e14f40a46d ecore-wayland: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:41:27 -04:00
Chris Michael a49835a8d1 ecore-wayland: Calloc Can fail, so check that it works (or return if
not).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:41:27 -04:00
Chris Michael ff29972703 ecore-wayland: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:41:27 -04:00
vivek 2f4db577b5 Added support for xdg-shell protocol in ecore-wayland
Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1326
2014-08-13 09:41:26 -04:00
MinJeong Kim 61847abae1 ecore-wayland: Do not destroy data_source for selection on client side
Summary:
Wayland client doesn't need to destroy previous data_source when client requests for selection_set,
because there is "cancelled" event by wayland server to notify clients that the data_source is not used more and has to be destroyed.
Before receiving the "cancelled" event, client cannot recognize that it is useless or not.
Even if the client wants to create new data_source, wayland server can choose previous data_source rather than new one.

Test Plan:
1. Launch weston
2. Launch "elementary_test -to entry5" on weston
3. Try to copy & paste

Reviewers: devilhorns

CC: cedric, gwanglim

Differential Revision: https://phab.enlightenment.org/D1152
2014-07-09 09:06:58 -04:00
Stefan Schmidt d9ea423b91 ecore_wl: Actually watch out for ECORE_FD_ERROR 2014-04-17 17:01:45 +02:00
Stefan Schmidt 08bad99597 wcore_wl: Handle errors on wayland display fd
Cancel the callback if we receive an error on the wayland display
file descriptor.
2014-04-17 16:57:53 +02:00
Stefan Schmidt 2029ffc1ad ecore_wl: Add FD_WRITE flag to handler as we monitor read and write
The _ecore_wl_cb_handle_data callback only has the flag for ECORE_FD_READ
set while the callback funtion also monitors and acts on writes. I wonder
if and how that worked before.
2014-04-17 16:57:53 +02:00
Chris Michael 44b3cd1564 ecore-wl: Check for existance of data device manager
@fix: Don't segfault if the running compositor never creates a data
device manager.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-15 10:41:54 +01:00
Chris Michael 6699d427c1 ecore-wl: Don't create an input cursor surface unless the input has pointer capability.
@fix: There is no use for an input cursor surface if the seat does not
have the pointer ability (for kiosk cases, or touch-only cases where
a pointer is not created).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-15 10:41:54 +01:00
Chris Michael f0e90d25e3 ecore-wl: Optimize setting of window input region
@bugfix: Store the input region into the window structure, and don't
re-add a duplicate input region (done by comparison of saved region).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Chris Michael dba35d942d ecore-wl: Store window input region into structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Chris Michael da59ad61f2 ecore-wl: Optimize opaque region setting for surface and reduce
unnecessary calls to surface commit.

@bugfix: We don't need to call surface_commit if we are just setting
the opaque (or input) region(s). This reduces some overhead on the
compositor side (and thus reduces useless redraws). Also, optimize
opaque_region_set to not Reset to the same region; we do this by
storing the opaque region into the window structure, and on calls to
opaque_region_set we can compare those values and not re-apply the
same opaque region.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Chris Michael c5c378f5f9 ecore-wayland: No need to check button state twice
Since we already check the button pressed state in the 'if' above
this, there is no need to check it again.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-01 07:09:49 +01:00
Chris Michael c3ca3f07bc ecore-wayland: Fix ecore_wl_init 'stalling' when used in a server
@fix: If we are using the ecore_wl library in a "server", we cannot
sit and 'sync' during the init process as that just leaves the server
in a stalled state waiting for ecore_wl_init to complete (which never
does because the server has not finished it's work).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 09:12:57 +00:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Rafael Antognolli cc4aedaaee ecore/wayland: Use touch_focus for touch_based events.
Also call the mouse related events with BTN_LEFT instead of 0, otherwise
the correct button won't be assigned to the event (button 1).
2013-11-29 18:05:42 -02:00
Rafael Antognolli a14ee372e0 ecore/wayland: Send a mouse up event when the implicit grab starts.
The previous workaround used to send a mouse up event to the
application, using the pointer enter callback to determine when an
implicit grab has finished. This was "simulating" a mouse up event when
the surface move or resize finished.

However, this doesn't work for touch-based move. The pointer enter isn't
emitted, because the wl_touch interface doesn't have the concept of a
pointer.

Changing this code to make it more similar to what Weston's toytoolkit
does, the mouse up event is sent as soon as the move or resize grab
starts. After that, the compositor takes care of the move/resize almost
entirely.

Should fix T468.
2013-11-29 18:05:19 -02:00
Rafael Antognolli 2c95c5ee1d ecore/wayland: Get the touch up event position from the down_info.
down_info is a struct that stores some information about the current
pressed touch events. It should be used for that specific touch point,
instead of the generic input info, when sending a mouse_up event.
2013-11-29 18:05:06 -02:00
Rafael Antognolli b92fc57c5a ecore/wayland: Remove list of touch points from input structure.
We already have the "Ecore_Wl_Mouse_Down_Info" list, that contains this
information.
2013-11-29 18:05:06 -02:00
Chris Michael 445f2eb206 Fix keyrepeat going crazy ;)
Previously, if you were hold down shift for 1-2 seconds and then press
a key, you would get superfluous key repeats (even tho you released
the printable key). This was because the "key repeat" code was not
checking for the same key before (re)starting the repeat timer.

This fixes the repeating key issue by checking if the key pressed is
different than the one already pressed. If so, it will (re)start the
timer. If it is not different, then the timer is already running and
we don't need to do anything.

Fixes T552

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-25 07:47:52 +00:00
Chris Michael 55c0dbb3c8 Fix ecore wayland key events to fill in Ecore_Event_Key with X11-like
values.

Previously, the keyname and key fields of the Ecore_Event_Key
structure were being filled in with the capitalized version of the
key. This is due to xkb_keysym_get_name always returning keys with the
modifier applied. There is no actual function in xkbcommon to Not do
this :/ so we have to manually check if Shift is pressed, and if so
then we need to convert the key to lowercase.

Fixes T550

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-25 07:38:00 +00:00
U. Artie Eoff cfb121c8f8 ecore-wayland: test for subsurface protocol in wayland core
The subsurface protocol was moved into Wayland Core
around v1.3.90 (i.e. v1.4.0).

Test if subsurface protocol is part of wayland-client.h.
If not, we include our own copy of the protocol header.

Also, some whitespace cleanup in ecore_wl.c.

Tested with Wayland 1.3.0 and 1.3.90 (master:360dca5).

Fixes T529

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-11-22 05:09:53 -08:00
Chris Michael 0a32212a79 Add support for storing mulitple touch points.
Send events to properly focused surface.
Fill in missing parts of the event structures (ev->root, ev->multi).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael e1dc4579fd Add list of touch points to input structure, and a pointer to the
"touch" focused surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael 125576d6a1 Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael d96339e9bb Don't send pointer_enter events on touch_down.
Fix touch_down and touch_up to send proper button ID (ecore_x sends 0).

Fixes Phab Ticket T468

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 12:58:54 +00:00
Chris Michael 0800b2ec1e Partial revert of eb84475503
Actually, we don't need to free this data here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 08:04:07 +00:00
Chris Michael eb84475503 Check for valid drag type before trying to strdup.
When deleting the drag, free any dupped strings.

Hopefully this fixes Phab Ticket T471. Don't know for sure as I cannot
reproduce the crash here :/

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 07:56:13 +00:00
Chris Michael e8aa7087eb Check for valid shell_surface, title, and class before trying to set
them else wayland segfaults (internal wayland code does no safety
checks). Also, Fix some formatting while I am here...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-14 12:44:10 +00:00
Chris Michael b3e309d04f Fix getting the clipboard selection and add missing LOGFN macros
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Chris Michael 9240c2e91c Add support for additional keyboard modifiers. Fix handling of Shift
key for capitals.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Chris Michael 5bde301efa Add some additional keyboard masks
This adds support for Windows logo, caps lock, num lock, scroll lock
and AltGr as keyboard modifiers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Rafael Antognolli b5e6855266 ecore/wayland: Use eina_inlist instead of wl_list for inputs too. 2013-11-04 14:24:59 -02:00
Rafael Antognolli d1a9314cdd ecore/wayland: Use eina_inlist instead of wl_list for outputs too. 2013-11-04 14:18:39 -02:00
Rafael Antognolli 18ef47c173 ecore/wayland: Use eina_inlist instead of wl_list for globals.
Since we are allocating this list and returning it, let's make it more
EFL-like.
2013-11-04 13:50:04 -02:00
Rafael Antognolli fdf6828b7e ecore/wayland: Move Ecore_Wl_Output to a private header.
This is just not being used outside of ecore_wayland library, so just
move it and nothing breaks.
2013-11-04 11:06:49 -02:00
Carsten Haitzler 298f4af7fa ecore-wl - add ecore_wl_window_surface_id_get so we can unbreak elm 2013-11-02 11:44:15 +09:00
Rafael Antognolli fe8058cf77 ecore/wayland: Finally move Ecore_Wayland internals to private header. 2013-11-01 15:55:39 -02:00
Rafael Antognolli b77ac9b57e ecore/wayland: Add ecore_wl_window_keyboard_get().
Instead of use direct access to the Ecore_Wl_Window structure, just use
the getter, so we can hide the internals.
2013-11-01 15:51:38 -02:00
Rafael Antognolli 8b852ad21e ecore/wayland: Set win->resizing flag inside ecore_wl_resize(). 2013-11-01 15:51:14 -02:00
Rafael Antognolli 6aa11cf89d ecore/wayland: Set win->moving from inside ecore_wayland.
We can set it from the ecore_wl_window_move() function, instead of
directly changing the attribute.
2013-11-01 15:07:53 -02:00
Rafael Antognolli 839a737a62 ecore(_evas)/wayland: Move frame callback to engine data.
It's something specific to the ecore_evas engine/module, so there's no
need to keep this info in the Ecore_Wl_Window.
2013-11-01 15:07:53 -02:00
Rafael Antognolli 1c33a1a57b ecore/wayland: Add title_set and class_name_set APIs.
These two APIs will save the title and class_name inside
Ecore_Wl_Window, so if they are called before the shell surface is
created, the stored names will be used later when the window is finally
shown (shell surface is created).

This way we are also hiding the shell surface from ecore_evas modules.
2013-11-01 15:07:48 -02:00
Rafael Antognolli 277a5915c1 ecore/wayland: Remove attributes that are not used anymore.
Some attributes might have been useful in the past, but not anymore.
Just remove since they are not been used anywhere.
2013-11-01 10:30:29 -02:00
Rafael Antognolli 1deb107d56 ecore/wayland: Do not store "edges" in Ecore_Wl_Window.
This is a configure event info, so put it in the right place. Some
places adding edges info were also removed, which means that they were
redundant.

Tested with <Meta> + middle click resize, and with window border resize,
on all the edges. Apparently, nothing breaks.
2013-10-31 21:35:13 -02:00
Rafael Antognolli dd18206d86 ecore/wayland: Do not use win->id directly.
Use a getter for it instead, so we don't need to expose the
Ecore_Wl_Window struct just because of it.
2013-10-31 21:35:13 -02:00
Rafael Antognolli e56428f4ad ecore/wayland: Make Ecore_Wl_Input private.
It's mostly only used inside ecore_wayland library anyway.

The only bit needed outside of the library is the "seat" pointer, but a
new function was added to retrieve such pointer from Ecore_Wl_Input.
2013-10-31 21:35:13 -02:00
Rafael Antognolli 35d2f195de ecore/wayland: Hide Ecore_Wl_Display.
This struct is only used inside ecore_wayland itself, so there's no real
reason to expose it. Apparently, hiding it doesn't break anything,
except for the ecore_imf wayland module, which was easily fixed.

If anyone notices a breakage, please let me know.
2013-10-31 21:35:13 -02:00
Rafael Antognolli 047e3bf113 ecore/wayland: Using underscore on private functions. 2013-10-29 19:32:00 -02:00
Rafael Antognolli cb0f6171a8 ecore/wayland: Oops, initialize member of malloc'ed struct. 2013-10-29 19:14:59 -02:00
Rafael Antognolli 06d6bf0dba ecore/wayland: Add some getters.
This centralizes the place where we have to wait for the init to have
finished before first using the compositor. It's also part of the later
step of hiding Ecore_Wl_* private structs.
2013-10-29 19:14:22 -02:00
Chris Michael d1d0090706 Don't send mouse_up or mouse_down events unless we have a focused
surface

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-29 08:05:32 +00:00
Rafael Antognolli ccdeae7ce4 ecore/wayland: Use sync callback to report end of ecore_wl_init().
At the end of the ecore_wl_init() function, send a sync request to the
server, and add a callback listener to the "done" event. When this event
is received, we are sure that all the registry bind requests done so
far were processed already, and that the registry and globals are
available and can be used.

Now, on the functions that request interfaces or registry, we call
_ecore_wl_init_wait(), which will check if the callback was received
already (that means that all requests inside the init were processed).
If it was not yet, then we wait until receiving that callback, before
returning the requested data.
2013-10-28 14:47:33 -02:00
Rafael Antognolli 3aca95bb22 ecore/wayland: Add info about other bound interfaces.
Add output, seat, data_device_manager and subcompositor as possible
bound interfaces, on the ECORE_WL_EVENT_INTERFACES_BOUND event info.
2013-10-28 14:47:32 -02:00
Rafael Antognolli ad731e8b21 Revert "change init done bindings."
This reverts commit b87afd1b94.

Wrong branch, wrong commit.
2013-10-28 14:46:40 -02:00
Rafael Antognolli b87afd1b94 change init done bindings. 2013-10-28 14:07:25 -02:00
Rafael Antognolli c4f1e67686 ecore/wayland: Do not generate subsurface source files.
Add them to the tree, so they don't need to be generated again on each
build. Also remove the autofoo code used for generating them.
2013-10-11 14:26:34 -03:00
Stefan Schmidt ab0f7ca625 Revert "Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool."""
Is there a title for the commiter with the longest revert of a revert list?

I screwed this one up. Had other local changes that sneaked in.
Resetting and doing it right now.

This reverts commit ee155b771d.
2013-10-11 09:41:22 +01:00
Stefan Schmidt ee155b771d Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool.""
You can bet on reverting makes people speed up the process in fixing it.
Revert the revert here now that Cedric fixed it in eina.

This reverts commit 875e7cf74d.
2013-10-11 09:36:35 +01:00
Rafael Antognolli f2d1a21147 ecore/wayland: Add subsurface handling APIs. 2013-10-10 13:24:22 -03:00
Rafael Antognolli 1cef77bfd7 ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland. 2013-10-10 13:24:22 -03:00
Rafael Antognolli f26f2da5ea adding wayland subsurfaces protocol file. 2013-10-10 13:21:40 -03:00
discomfitor 80bcfac650 also unbreak ecore-wl header with previous reverts... 2013-10-05 16:38:55 +01:00
discomfitor 8f493ab6c5 Revert "ecore/wayland: Add subsurface handling APIs."
This reverts commit 65b960f4a6.

Conflicts:
	src/lib/ecore_wayland/ecore_wl.c
2013-10-05 16:26:24 +01:00
discomfitor f66eceed10 Revert "ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland."
This reverts commit 7994b62c6b.
2013-10-05 16:23:38 +01:00
discomfitor 06a5ba2118 Revert "adding wayland subsurfaces protocol file."
This reverts commit ad27efcb39.
2013-10-05 16:22:15 +01:00
Rafael Antognolli 65b960f4a6 ecore/wayland: Add subsurface handling APIs. 2013-10-04 18:23:58 -03:00
Rafael Antognolli 7994b62c6b ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland. 2013-10-04 18:23:58 -03:00
Rafael Antognolli ad27efcb39 adding wayland subsurfaces protocol file. 2013-10-04 18:23:57 -03:00
Chris Michael eeb6f1e59f Do not call actual wl_surface_commit unless we have a buffer attached.
NB: Fixes zmike multi-client problem

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 11:34:10 +01:00
Chris Michael deedad61b9 Add structure member to mark if window has an actual buffer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 11:34:10 +01:00
Chris Michael 43fda7c835 Add API functions for window_rotation set/get and Fix Protruding surfaces on rotated, opaque windows
Phab Ticket T359
https://phab.enlightenment.org/T359

NB: When setting the window opaque region, take into account any
existing window rotation, and set opaque region accordingly.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:08 +01:00
Chris Michael 677fdbf81c Update doxy for opaque_region_set function.
Add 'rotation' field to Ecore_Wl_Window structure.
Add API functions to get/set window rotation.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:08 +01:00
Chris Michael 0c88d8e8ce Revert "Reduce additional call to eina_stringshare_replace."
This reverts commit f4f44c777a.
2013-09-13 07:01:06 +01:00
Chris Michael 0d0944c4cc Reduce unnecessary pointer frame callbacks
NB: We only need to do pointer frame callbacks if the pointer is using
an animated image.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:34 +01:00
Chris Michael f4f44c777a Reduce additional call to eina_stringshare_replace.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:34 +01:00
Chris Michael bd4d6cb6cc Also reset opaque region is transparent is toggled.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 14:13:53 +01:00
Chris Michael dc01222858 Add back saving of opaque region into window structure.
NB: Needed so that we can reset the opaque region if alpha_set is
being toggled on/off all the time.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 14:10:27 +01:00
Chris Michael 164299e689 Rework keyboard repeat to use an ecore_timer (not a timerfd).
NB: This fixes keyboard repeat in terminology (under wayland) to be
sane again :)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 15:59:40 +01:00
Chris Michael 369f414726 Remove calls to update_size function in alpha_set and transparent_set.
In alpha_set & transparent_set, add call to set opaque region to NULL
if alpha or transparent.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 14:37:17 +01:00
Chris Michael 6ab1bd2f71 Set surface opaque region to NULL if window is transparent/alpha.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-04 14:24:04 +01:00
Chris Michael cf7c9b9d6b Added functions for setting input and opaque regions on a window.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:25:58 +01:00
Chris Michael 6a228b5b7f Add API functions for setting window input & opaque regions.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:25:34 +01:00
Chris Michael 8d3caa1dba Remove 2 unused integer members from window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:54 +01:00
Chris Michael f8d6a9561d Don't use Eina_Rectangles for server and saved allocation, can just
use ints for width & height.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael d1b4362b52 Reduce size of Ecore_Wl_Window structure.
Removed 2 Eina_Rectangles from window structure as we only use width &
height anyway, so we can store those as ints.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 2811dad225 Remove pending_allocation member of window structure (not used
anywhere).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 9bdda19eaf Remove calls to saved input & opaque region of window.
We don't record these regions anymore. They were removed from the
window structure.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael bf410c957b Remove region members from Ecore_Wl_Window structure. No need to keep
these around.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 6337b63977 When updating window size, if the stored allocation size is the same
as being set, then get out.

This reduces unnecessary calls to resetting the input & opaque regions
if nothing has changed in terms of size.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-21 08:27:45 +01:00
Mike Blumenkrantz 86b61b41d1 ecore_wl sets input regions more accurately when resizing 2013-08-20 14:49:21 +01:00
Chris Michael 8e92e10088 When we create a wl_surface for the window, set the surface_id field
of the window structure.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-20 14:45:49 +01:00
Chris Michael b4af063308 Add surface_id to wayland window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-20 14:45:49 +01:00
Chris Michael 0de4add074 Remove dead code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-20 14:45:49 +01:00
Chris Michael 3cc3d0878a Convert upper-case characters to lower-case characters on keydown
events.

NB: xkbcommon automatically converts the pressed key to Upper if Shift
is pressed. this is a problem as ecore key down events expect them to
be lower-case (not converted yet).

NB: Fixes Phab Ticket T232.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-07 10:45:11 +01:00
Chris Michael 5e230dd97d Add missing EINA_UNUSED to function parameters.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-06 11:26:26 +01:00
Chris Michael 82c980ef7b Add functions for output done and output scale events.
NB: Apparently, setting these functions to NULL in the listener Does
Not Work anymore ! :( (used to work just fine).

NB: This makes EFL Apps work again inside Weston with latest from git.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-06 11:18:29 +01:00
Chris Michael 836370422b Bump compositor interface version to 3.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-06 11:18:11 +01:00
Chris Michael d163e5df1f Check for valid windows hash before searching it.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-01 12:50:41 +01:00
Chris Michael 7fa2c11e72 Add some checking/trapping for valid wayland display.
Remove dead commented lines

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-24 07:15:44 +01:00
Chris Michael 8f11c31396 During ecore_wl_window_pointer_set (called from
ecore_evas_object_cursor_set), assign the pointer properties to the
window structure so they can be applied on pointer_enter events.

NB: Phab T230

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:20 +01:00
Chris Michael f0289a1936 Check for valid input->pointer before calling wl_pointer_set_cursor.
During a pointer_enter event, if the window was assigned a custom
cursor, respect it. By default we will still set left_arrow initially,
but if the window was assigned a custom cursor, use it.

NB: Fixes Phab T230

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:20 +01:00
Chris Michael 8f8d79cb91 Add a pointer structure to the window struct.
NB: This is used in a case where someone calls
ecore_evas_object_cursor_set on a specific window. The generic
pointer_enter code for a window initially sets the cursor to
left_arrow by default. When the above function is used, and a pointer
enter event occurs, the cursor assigned from the above function was
not being respected.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:20 +01:00
Chris Michael a233f23c2f Remove call to display_iterate during init (this stalls our compositor
due to code reuse and is not needed from the client side anyway).

Add function for setting "server mode" (this will allow us to avoid
any display_iterate calls which would block our compositor).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:19 +01:00
Chris Michael 93398d66ed Add API function for setting "server_mode"
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:19 +01:00
Chris Michael 4d05ee2d3d Check for valid xkb state before trying to update modifiers from it.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-07-17 16:53:04 +01:00
Chris Michael dd939bf587 Add some additional trapping around window_show for cases where a
wl_shell has not been bound yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-16 11:16:44 +01:00
Chris Michael b579df2f51 For cases of fatal errors on wl_display, return ECORE_CALLBACK_CANCEL
in the fd_handler and idler so we stop listening there.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-09 11:11:14 +01:00
Eduardo Lima (Etrunko) 1a2ae24e8b ecore_wayland: Yes, we need to call display_dispatch
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-26 11:36:07 -03:00
Chris Michael 3b8d6bf89a Add missing initializer for wl_seat_listener.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-26 12:39:14 +01:00
Chris Michael 3230114ff9 feature: Add support for global_remove in the display listener.
bugfix T151: Catch fatal error from wayland displays and signal apps to exit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-26 11:57:49 +01:00
Chris Michael a665e6320f Remove call to wl_display_get_serial as it's a server-side function,
not client-side.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-24 09:15:34 +01:00
Chris Michael f833318fb2 Use wl_display_get_serial when creating popups.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-24 08:52:50 +01:00
Chris Michael cda1abc1ec Dont need the ret variable unless we are actually going to use it.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-20 04:48:44 +01:00
Chris Michael 01ed63f4bd Remove 'hack' which worked around a Weson bug wrt pointer setting
during dnd operations (by setting surface_user_data to buffer)

NB: This bug was fixed in Weston, so this workaround is not needed
anymore

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:22:19 +01:00
Chris Michael 2942696111 Don't crash when window is null (for mouse_down comparison)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:22:19 +01:00
Chris Michael db37405ef8 Debug--
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:22:19 +01:00
Chris Michael f43ac1a181 EFL Formatting.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-13 07:00:09 +01:00
Rafael Antognolli 79496745cf ecore/wayland: Translate CTRL + keys on Wayland.
The "compose" component of the ecore input events must be translated to
the correct value when CTRL keys are pressed. This implementation was
copy & pasted from the xcb backend.
2013-06-12 18:50:31 -03:00
Eduardo Lima (Etrunko) 734e52d011 ecore_wl: Handle ECORE_WL_WINDOW_TYPE_NONE correctly
Also changes the default window type to ECORE_WL_WINDOW_TYPE_TOPLEVEL as it is
the most used case. If someone needs another type, set it manually.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-12 17:40:02 -03:00
Chris Michael cf8e054889 Add private function to get the window hash.
When destroying window, also destroy animator callback.
Change ecore_wl_window_damage function to Only do damage.
Add separate ecore_wl_window_commit function to push those accumulated
damages.
In ecore_wl_window_surface_create, if the window already has a
surface, return that ... Not Null.
During window show, only create a shell_surface if it does not Already
exist.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 659c6548d9 Add private function to get the window hash.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 92a649e35b Modify ecore_wl_input keypress code to handle modifiers Not on every
keypress, but rather Only on they actual modifier event.

Add some printf debugging for Non-Printables like Ctrl, etc

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael ff73dd600b Add ecore_wl_animator_source_set code for setting Custom animators.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 3304eeb59e Modify ecore_wl_animator_source_set function to not need a window.
Add ecore_wl_window_commit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 36e43b271a Add anim_pending and anim_callback to window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 964f4769ae Fix potential memleak reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-29 13:24:49 +01:00
Chris Michael 6d0cc0d9bf Deprecate old dnd functions (useless, improperly named, etc)
Add shiny new Drag-N-Drop code ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael b7ac7bdfd9 Add ecore_wl_input_get function
Remove global dnd object (not necessary)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 0950237f04 Don't create a shell surface for DND window types.
Set surface_user_data in attach function to be the buffer we are
attaching (NB: Expected by some compositors like weston).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 2b15d4ce1f Add dnd_offer and dnd_end event types.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael a6343c65c2 Deprecate/remove some internal functions that were just not needed.
Add a wl_data_offer to Ecore_Wl_Dnd_Source

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 7983c69255 Deprecate some old dnd functions that were named poorly or just did
not function.
Add Dnd Offer and Dnd End events.
Add a new window type (dnd).
Add new functions for dnd

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael aef87fc411 Move window function(s) declaration(s) to be with the rest of the
window functions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 09a3290c54 Define Ecore_Wl_Input_Group and Ecore_Wl_Dnd_Group for doxy
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 4c88eb0325 Add missing 'void' for function declaration.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael a85a196e4a deprecate badly named ecore_wl_dnd_drag_start function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:50 +01:00
Chris Michael 8c9353e3ec Use ecore_wl_window_surface_find to get the Ecore_Wl_Window.
NB: This is needed because some compositors like Weston are expecting
the wl_surface user_data to be a buffer, not some arbitrary data.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:49:40 +01:00
Chris Michael d7cbc84aa8 Add function to get a Ecore_Wl_Window from a wl_surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:46:04 +01:00
Rafael Antognolli 2a20ca4477 ecore_evas/wayland: Do not send additional mouse_in's.
If this Ecore_Evas already has a mouse inside it, there's no need to
send an additional mouse in event.

Additionally, always send a mouse_move event before a mouse_down, so the
Evas pointer position can be updated properly before the mouse down.
2013-05-08 16:56:12 -03:00
Rafael Antognolli d4b7389f3a ecore/wayland: Store the multi position per device/finger.
This will make every touch point have its position updated on
multi_move, and then it can be used to send a correct multi_up event.
2013-05-08 16:50:15 -03:00
Rafael Antognolli c18e76eb2c ecore/wayland: Report correctly the device which emitted the mouse event. 2013-05-08 16:50:15 -03:00
Rafael Antognolli 494d53daa2 ecore_wayland: Simplify handling of opaque regions.
Move this handling entirely into ecore_wl_window_update_size() and
create and set it whenever it is necessary. There's no need to keep a
pointer on the Ecore_Wl_Window struct.
2013-05-06 20:25:17 -03:00
Rafael Antognolli 13c0e8f3f3 ecore/wayland: Fix alpha windows on EGL backend.
Now the opaque and input regions are updated on ecore_wl_window_resize,
there's no need to call ecore_wl_window_buffer_attach() for this
anymore.

The checks on alpha and transparent flags were also fixed.

ecore_wl_window_update_size() is now called by ecore_wl_window_resize(),
reducing duplicated code.
2013-05-06 16:46:20 -03:00
Rafael Antognolli 7a7a0b8297 ecore/wayland: Add ecore_wl_window_alpha_set().
Just sets the "alpha" flag on the window and use it when calculating
opaque regions.
2013-05-06 16:40:50 -03:00
Chris Michael 9372a1e217 Revert "Reduce duplicated code and comment out region_add sections that are"
This reverts commit 279c5ac28e.

This broke rotation (and some other things).
2013-05-01 07:32:10 +01:00
Rafael Antognolli 1f58a59a61 ecore_evas/wayland: Remove hack for changed state.
Since we don't have a changed state callback on Wayland, just call the
changed_state callback of Ecore_Evas from the configure callback.
There's no need to add the Ecore_Job that will send the event later.

This makes the code cleaner, simpler, and will call the callback when
the configure event is received, which is a good place to check for the
changes.
2013-04-30 16:31:43 -03:00
Rafael Antognolli a9b500370a ecore/wayalnd: Add some getters to ecore_wl_window. 2013-04-30 16:31:35 -03:00
Chris Michael 279c5ac28e Reduce duplicated code and comment out region_add sections that are
not needed.
During buffer_attach, just call window_damage function which already
handles surface_damage & commit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Rafael Antognolli de4173ee0a ecore/wayland: Add support for engine animated cursor. 2013-04-23 18:52:35 -03:00
Igor Murzov 1373f0ba4a Fix incorrect printf format usage 2013-04-16 12:07:36 +04:00
Chris Michael 6380cf1bf1 Fix formatting.
Declare variables in the proper place.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-11 06:33:30 +01:00
Rafael Antognolli 2d62ea88e5 ecore/wayland: Add support for double and triple click.
It's implemented exactly the same way as on the X11 backend. It does
handle multiple devices, though may need some adjustments when
multi-touch is added, since there's no support for multi-touch on
EFL-wayland yet.
2013-04-10 14:53:14 -03:00
Rafael Antognolli 133e3e38f0 ecore/wayland: Sync before assuming that there's no output.
This will make the mainloop block waiting for the output info, if it's
not there yet, but it's better than just returning with no screen size.
2013-04-05 17:26:00 -03:00
Rafael Antognolli e38c985cd0 ecore/wayland: Actually wait for the sync callback on ecore_wl_sync().
The wl_display_sync() request doesn't really wait for all the requests
to be processed, but instead sends a request for the "done" event.
Wayland relies on the fact that the requests are processed in order, so
when the "done" event is received, it means that all the other requests
requested prior to the respective "sync" have been processed already.

This commit makes the ecore_wl_sync() call actually wait for its "done"
event (thus blocking the ecore mainloop).
2013-04-05 16:31:43 -03:00
Rafael Antognolli 97d06e5b3f ecore/wayland: Fix screen geometry when it is rotated.
Width and height should be swapped when the screen is rotated by 90 or
270 degrees.

Additionally, add a command to the ecore_evas_window_sizes_example which
returns the screen geometry.
2013-04-02 17:27:39 -03:00
Rafael Antognolli f5f589429e ecore/wayland: Destroy the frame_callback on window_free. 2013-04-02 14:40:00 -03:00
Eduardo Lima (Etrunko) 19561c6112 Ecore_Wayland: Add ecore_wl_window_surface_create() API
On some use cases, it is necessary to create a new wl_surface without
associating it to a wl_shell_surface. This new API makes it possible.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-03-26 15:51:41 -03:00
Eduardo Lima (Etrunko) a8c63de55a Add missing Ecore.h include
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-03-21 16:32:13 -03:00
Christopher Michael abd79fff9b Fix formatting.
Remove call to display_dispatch (not needed here during init).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00:00
Chris Michael fb8842bc24 Formatting fix.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-03-05 11:53:23 +00:00
Christopher Michael a37443ad87 Remove display_dispatch call (not needed here).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-05 09:24:48 +00:00
Christopher Michael be94e53126 Fix formatting.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-05 09:20:33 +00:00
Rafael Antognolli 71b1576bc5 ecore/wayland: Adjust @since versions to 1.7.6.
Since these API's were backported to 1.7.6, we must fix the doc strings.
2013-02-28 18:18:31 -03:00
Christopher Michael 3bf37fb3b8 Free any old input or opaque regions if they exist (regardless of the existance of a surface).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Rafael Antognolli db268ceb43 ecore/wayland: Don't use edge info for resizing in some cases.
Maximized/fullscreen will handle the repositioning of the window by
themselves, and restore the window to its original position when coming
back from that state. So there's no need to use the edge information and
manually adjust the window offsets.

SVN revision: 83779
2013-02-08 11:50:09 +00:00
Rafael Antognolli a158958267 ecore/wayland: Always send the mouse button event.
Don't send only the mouse button stored inside input->button, since more
than one button may be pressed and unset the input->button when
unpressed.

SVN revision: 83647
2013-02-05 18:21:33 +00:00
Eduardo Lima (Etrunko) 251544ad7e Fix return of ecore_wl_outputs_get() function
This should return the pointer to the list, to get the desired behavior.
Fixes ticket #2252.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>



SVN revision: 83644
2013-02-05 17:23:38 +00:00
U. Artie Eoff a2197ce503 Export API to C++, add wl_registry and global accessors
Add #ifdef __cpluscplus to Ecore_Wayland.h so the API can be used by C++
programs.  Add accessors for the wl_registry and the globals list.

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>

Patch by: "U. Artie Eoff" <ullysses.a.eoff@intel.com>



SVN revision: 83642
2013-02-05 16:53:31 +00:00
Rafael Antognolli 74cb944f25 ecore/wayland: Add window state changed callback to Ecore_Wl_Window.
This will allow it to report to Ecore_Evas that the window has changed
its state. Elementary uses this to update its maximized/fullscreen/other
window states internal information.

The code that uses this callback is also added to Ecore_Evas.

SVN revision: 83625
2013-02-05 12:19:40 +00:00
Christopher Michael aa1f8b4eac Let's do malloc the EFL way here.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83320
2013-01-25 07:19:48 +00:00
U. Artie Eoff c36058806a Cache wayland globals
Store the wayland registry globals in a list so that we can bind to them from a
user/test program. When a custom interface (protocol extension) is used in a
wayland compositor, this allows user/test program to use that interface. For
instance, one might provide a custom wayland test protocol that give access to
otherwise hidden/missing functionality that allows effective automated testing
(in wayland engines). See the Weston unit test suite for an example of this
concept.

Patch by: "U. Artie Eoff" <ullysses.a.eoff@intel.com>



SVN revision: 83312
2013-01-24 22:03:22 +00:00
Eduardo de Barros Lima 08b96ebc1c Move typedef enum declarations after the enum to make g++ happy.
When compiling a C++ program that includes Ecore_Wayland:

Ecore_Wayland.h:56:14: error: use of enum ‘_Ecore_Wl_Window_Type’ without previous declaration
Ecore_Wayland.h:56:56: error: invalid type in declaration before ‘;’ token
Ecore_Wayland.h:57:14: error: use of enum ‘_Ecore_Wl_Window_Buffer_Type’ without previous declaration
Ecore_Wayland.h:57:70: error: invalid type in declaration before ‘;’ token

This patch fixes ticket #2217.



SVN revision: 83310
2013-01-24 21:35:06 +00:00
Alex Wu 41308aa729 From: Alex Wu <zhiwen.wu@linux.intel.com>
Date: Sat, 5 Jan 2013 10:50:19 +0800
Subject: [PATCH] ecore-wayland: Improve opaque setting logic.

1. Update win->region.opaque in ecore_wl_window_update_size, so that
the opaque info is synced with the geometry.

2. Add win->surface checking in ecore_wl_window_buffer_attach
before send any wl_surface related request, it will avoid segfault
in case that calling ecore_wl_window_buffer_attach() before
ecore_wl_window_show().

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82385
2013-01-08 07:21:47 +00:00
Christopher Michael 67769cc39f ecore-wayland: Improve opaque setting logic.
1. Update win->region.opaque in ecore_wl_window_update_size, so that
the opaque info is synced with the geometry.

2. Add win->surface checking in ecore_wl_window_buffer_attach
before send any wl_surface related request, it will avoid segfault
in case that calling ecore_wl_window_buffer_attach() before
ecore_wl_window_show().

SVN revision: 82384
2013-01-08 07:21:32 +00:00
Gustavo Sverzut Barbieri 05212a3d0e efl/ecore_wayland: move docs to header.
SVN revision: 81832
2012-12-28 19:36:01 +00:00
Christopher Michael 9f0e2fc7e8 Fix some minor formatting in Alex Wu's cpu patch.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81361
2012-12-19 13:58:52 +00:00
Christopher Michael 58304e01ab ecore-wayland: (version 2)Fix monitoring ECORE_FD_WRITE defaultly on wayland display fd lead to 100% cpu usage
In ecore_wl_init(), adding wayland display fd with ECORE_FD_WRITE
flag make CPU usage 100%. The proper way to monitor the ECORE_FD_WRITE
is when the wl_display_flush() return value < 0 and errno == EAGAIN.
And if wl_display_flush() return, we remove ECORE_FD_WRITE flag from
the display fd.

Change from v1:
Add idle enterer destroy code into _ecore_wl_shutdown() to avoid
using freed wl_display.

SVN revision: 81360
2012-12-19 13:58:48 +00:00
Jonas M. Gastal e3ae81e65f efl: Created Ecore group and added existing Ecore groups to it.
SVN revision: 81293
2012-12-18 18:38:44 +00:00
Alex Wu a3f102f742 Reverting 80476 and 80479. This solution is flawed and causes some weird
collateral damages that need further investigation. All programs running with
wayland engines are consuming 100% CPU.

ecore-wayland: Fix monitoring ECORE_FD_WRITE defaultly on
   wayland display fd lead to 100% cpu usage

  In ecore_wl_init(), adding wayland display fd with ECORE_FD_WRITE
  flag make CPU usage 100%. The proper way to monitor the ECORE_FD_WRITE
  is when the wl_display_flush() return value < 0 and errno == EAGAIN.
  And if wl_display_flush() return, we remove ECORE_FD_WRITE flag from
  the display fd.

  Patch by: Alex Wu <zhiwen.wu@linux.intel.com>


SVN revision: 80981
2012-12-14 19:00:53 +00:00
Alex Wu 4c534eb0e0 ecore-wayland: Fix monitoring ECORE_FD_WRITE defaultly on
wayland                display fd lead to 100% cpu usage

In ecore_wl_init(), adding wayland display fd with ECORE_FD_WRITE
flag make CPU usage 100%. The proper way to monitor the ECORE_FD_WRITE
is when the wl_display_flush() return value < 0 and errno == EAGAIN.
And if wl_display_flush() return, we remove ECORE_FD_WRITE flag from
the display fd.

Patch by: Alex Wu <zhiwen.wu@linux.intel.com>



SVN revision: 80476
2012-12-07 17:38:21 +00:00
Vincent Torri a3562c0173 ecore: whitespaces--
SVN revision: 80017
2012-12-03 07:37:17 +00:00
Vincent Torri 7d6010b12c merge: add escape ecore, fix several bugs
SVN revision: 79995
2012-12-02 22:35:45 +00:00