Commit Graph

94 Commits

Author SHA1 Message Date
Mike Blumenkrantz 33ff637a7c fix pointer crashes from wrong #ifdefs in 1f439893f1 2014-09-05 14:29:39 -04:00
Mike Blumenkrantz fdcd207323 clean up function/macro use in e_pointer 2014-09-05 14:27:59 -04:00
Chris Michael 2b8d76747d Revert "bugfix: Set pointer timer & poller members to NULL after we delete the"
This reverts commit bb2dab1a5d.

Revert this because the macro already sets the pointers to NULL.
2014-09-05 12:27:01 -04:00
Chris Michael bb2dab1a5d bugfix: Set pointer timer & poller members to NULL after we delete the
timer/poller

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:40:00 -04:00
Chris Michael 1f439893f1 bugfix: handle case of pointer_xy_get being called if we are not
wayland-only and also not working with an X client.

bugfix: Fix case of pointers_size_set not adjusting pointer structure
fields with new size when rendering wayland pointers.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 15:51:46 -04:00
Chris Michael 3edef4a1a8 remove call to show pointer during canvas_new function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:10:09 -04:00
Chris Michael 63b5da69f0 fix pointer for stupid X11...but this breaks pointers in wayland (for
now) :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:10:07 -04:00
Chris Michael 01fd44e485 add new e_pointer files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael f1bf03e87b remove old e_pointer code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael c308904e9b fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Gwanglim Lee 6f707894a8 fix e cursor invisible after destroying wayland surface
Summary:
E doen't have to remove pointer_image evas object when destroying wayland
surface. The image contents of pointer_image will be replaced default mouse
cursor in pointer_object at idler unless pointer_image is removed in
e_pointer_image_set.

Test Plan: run e with wayland only server -> run elementary test -> close elementary test

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D776
2014-04-24 12:42:03 -04:00
Gwanglim Lee ecb8d21ab6 set blocks to avoid copying cursor contents from evas buffer canvas in idler_before
Summary:
it fixes a bug that cursor is invisible when running a wayland client.
e_pointer_image_set function sets image data of p->pointer_image to
data of E_Pixmap. and then e_pointer_idler_before function changes
raw image data of p->pointer_image to p->pixels. we should enable blocks
to avoid it.

Test Plan: run enlightenment (wayland only) -> run efl app with wayland shm engine

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D769
2014-04-24 12:41:38 -04:00
Mike Blumenkrantz c17d33368c check pixmap_size_get() return in e_pointer
CID 1195448
2014-04-04 15:04:27 -04:00
Stefan Schmidt 04a5a11a8f e_pointer: Fix missing if for else if condition
Fixing devilhorns commit and run commit. If we have a condition we want
to check we need an else if not a simple else. Always compile before push.
Especially the small and simple changes. :)
2014-03-20 15:50:51 +01:00
Chris Michael d0b61e4b88 bugfix: Properly hide/show pointer_image & pointer_object based on if
the pointer is located on an existing canvas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 14:16:42 +00:00
Chris Michael 5ce5d2d90b bugfix: Set pass_events and layer of the pointer image if we are
creating a new one.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 14:16:42 +00:00
Chris Michael 5b77c566e6 Use ecore_wl functions to return the pointer location if we are
running as wayland-only

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 10:18:44 +00:00
Mike Blumenkrantz c81e649992 fix more wayland crashes 2014-03-18 18:15:24 -04:00
Chris Michael 3d10a3d34e @bugfix: Fix pointer to work in drm and also fix some formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Chris Michael 915f8f0613 @bugfix: Fix building for WAYLAND_ONLY by using the proper define
sed -i 's/WAYLAND_ONLY/HAVE_WAYLAND_ONLY/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Mike Blumenkrantz 6c79b3ea87 only change to image cursor if not using e cursor
T851
2014-01-27 11:18:03 -05:00
Mike Blumenkrantz d4abb904ad fix cursor visibility when working with canvas cursors
wayland cursors no longer override E cursors depending on config, and they also no longer randomly delete your cursor entirely

T851
2014-01-23 17:06:27 -05:00
Mike Blumenkrantz 99a4e5bd27 remove e_pointer_block api
this was a failure idea for a way to block X cursor changes using an api, which turned out to be overengineered
2014-01-23 17:04:41 -05:00
Mike Blumenkrantz 1f25710907 reset pointer type from config when updating size
this fixes switching between X/E cursors without restarting
2014-01-23 17:03:56 -05:00
Mike Blumenkrantz e9c0e2c829 set X cursor color availability based on current compositor's root cursor
internal window cursors now display normally

T785
2014-01-23 16:17:34 -05:00
Mike Blumenkrantz dcdf4bb9f9 don't delete pointers when changing settings, just update size
this fixes a case where cursors would be permanently broken (along with the world) when changing cursor settings
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 5737103d67 wl pointers done-ish
pointers in E now come in two flavors, one for each protocol that we currently support. each is created from the owner compositor backend:

X pointers still work as usual

Wayland pointers are actually surfaces that we dump image data into periodically to render them as evas images

some small amounts of hack is necessary to make this work, namely blocking X pointers when a Wayland one is in use if we're running a multi-protocol compositor
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 12d7405a0f huge wl fixup (wayland clients actually working again)
* try to clear up build system for separating out ecore-x

* add #ifdefs for lots of ecore-x stuff

* break out some internal e wl functions for reuse in api

* store wl surface buffers as an inlist

* add protocol-specific client compositor data

** move lots of X client attributes here

* add pixmap type checks to a number of X-specific things, such as grabinput, to block them for non-X clients

* rearrange startup order to work with wayland

* move X screensaver code to e_comp_x

* flag modules still requiring X with -DNEED_X
2014-01-14 20:28:57 -05:00
Carsten Haitzler a4b70e791a fix unsafe list removal while walking it 2013-10-18 21:39:53 +09:00
Mike Blumenkrantz 1eb26ec077 add special happy fun time note for e_pointer_mode function usage 2013-09-26 10:56:57 +01:00
Mike Blumenkrantz 505cec1d91 giant comp rejiggering commit #5:
* border frame/object now drawn directly on compositor canvas

* border shadows now in border theme with edje hint, non-updated themes still receive comp object shadows FOR NOW

* e_border MOVE/RESIZE pointer mode defines are now e_pointer.h enums

* added BD_CHANGED() util macro for setting bd->changed and printing a debug line to assist in finding places where this all-important flag is wrongly set

* bd->bg_win removed entirely

* bd->pointer objects moved to compositor object; now only one pointer object exists for each compositor

* resizing windows now shows a new and totally-intended scaling effect for window contents

* some additional retooling of border deletion/free callbacks

* fixed lurking potential bug where window could recieve focus from autoraise timer after border had been deleted

* more comp shape improvements/rewrites

* desk transitions are now BROKEN(ish)

* various modules updated to not be totally broken with these changes
2013-04-15 08:39:16 +01:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Mike Blumenkrantz ae7ca9105f Hi,
here is a patch.

 1. free() already null-checks the passed argument, so it is not
    necessary to do 'if(x) free(x)'.

 2. Moved some '{free(x); x = NULL}' to E_FREE.

 3. In e_start_main.c, 'buf' is allocated with the size of the
    two arguments + '=', so we don't need to check for lenght;
    we should use sprintf().

 thanks
Maxime Villard


SVN revision: 81364
2012-12-19 14:20:34 +00:00
Christopher Michael 9b465c8a95 Add ECORE_X_CURSOR_EXCHANGE to e_pointer for a 'rotate' cursor.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 79867
2012-11-30 07:26:19 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Michael BOUCHAUD 5aae4607ea e: add hand pointer
SVN revision: 67756
2012-02-08 11:26:13 +00:00
Mike Blumenkrantz 8031da1778 prevent early stringshare death
SVN revision: 61620
2011-07-23 19:25:06 +00:00
Mike Blumenkrantz 024ec09c48 ecrustified
SVN revision: 61618
2011-07-23 18:55:23 +00:00
Christopher Michael f89ac1ddf6 E: Add missing returns in e_pointer callbacks.
SVN revision: 60905
2011-07-01 02:59:48 +00:00
Christopher Michael b914c8971d E: Safety checks so we don't segfault if there is no pointer.
SVN revision: 60705
2011-06-26 18:13:08 +00:00
Gustavo Sverzut Barbieri 6f2213cb25 convert init/shutdown to EINTERN, move some to _update().
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.

Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.



SVN revision: 54795
2010-11-22 15:21:32 +00:00
Sebastian Dransfeld 3c12d4daba __UNUSED__ last
SVN revision: 54193
2010-11-05 18:40:31 +00:00
Lucas De Marchi 6638a10e20 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Cedric BAIL c6a118d738 * e: remove warning due to Ecore API change.
SVN revision: 49833
2010-06-24 16:19:12 +00:00
Sebastian Dransfeld c3a71f394d make clang happy
SVN revision: 45184
2010-01-15 12:01:52 +00:00
Sebastian Dransfeld 78b294c4a8 make clang happy
SVN revision: 45176
2010-01-15 11:29:50 +00:00
Cedric BAIL f8c05999e4 * e: Cleanup use of Eina data structure.
Patch from Peter van de Werken <pwerken-e@a-eskwadraat.nl>.


SVN revision: 41916
2009-08-21 15:08:49 +00:00
Christopher Michael b9a6167841 Remove useless variable and just use a direct object reference.
No need for _type_set to return an 'int' as we never check it anywhere, so
make the function return 'void'.


SVN revision: 41561
2009-08-02 21:10:52 +00:00
Christopher Michael 4371d3e9b8 Removed duplicated code. Use E_FREE to free pointer.
SVN revision: 41560
2009-08-02 20:44:04 +00:00
Christopher Michael 9e0827a761 Formatting & Whitespace Cleanup (No Code Changes).
SVN revision: 41430
2009-07-19 09:13:39 +00:00