this uses a thread to collect vsync input events and filter them
before forwarding them to the mainloop (as a double timestamp). this
means wakeups only happen for the actual vsync and thus animator and
not for other screens we are filtering out anyway. this should fix the
continual animator wakeups that happen if you have a dri/drm based
driver and > 1 screen.
due to mesa changes to hide dri2 symbols, i have had to work on a fix
that makes this work again by going right to drm. now it works and
animators shoudl be vsynced on drm drivers if possible (only 1 card -
use card 0). already existing nvidia solution that uses a lot more
memory is there. others - no support. timers only
this adds a slave process that is useful on nvidia drivers as there
isn't another way to get vsync evenys (that i know about). i need to
make another slave process to that includes a dri2 protocol
implementation since mesa has now hidden its dri2 symbols.
bugfix@: As we have support in the Ecore_Event structure for storing
keycode on key press/release, let's utilize it. This will simplify
wayland compositor code as we won't have to parse key names to get the
keycode.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this technically adds a feature - it adds non-mitshm support for
ecore_x image grabbing, but that fixes a bug. it doesn't touch xcb
support though.
this fixes T1127 andshould probably be backported.
@fix: Fix building Enlightenment without X support
These changes are needed so that we can build Enlightenment without X
support. Many places in the E code reference
Ecore_X_Atom/Ecore_X_Icon. If we build E without X support, these end
up being undefined, causing build to fail, so we need to predefine them.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
The window auxiliary hint is the value which is used to decide
which actions should be made available to the user by the WM. If you
want to set specific hint to your window, then you should check whether
it exists in the supported auxiliary hints that are registered in the
root window by the window manager.
Once you've added an auxiliary hint, you can get a new ID which is used
to change value and delete hint. The window manager sends the response
message to the application on receiving auxiliary hint change event.
A list of auxiliary hint within the Ecore_Evas has this format:
ID:HINT:VALUE,ID:HINT:VALUE,...
Reviewers: raster, cedric, seoz, Hermet
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D543
This fixes valgrind reporting lost bytes when selecting text (e.g. in entry).
Can be reproduced in any program that has entry:
Simply run it with valgrind, select any text, and then exit.
Fixed by properly freeing the selection data, since it is either cleared or replaced.
Also, changed argument in sizeof since it didn't match the type of selections[in].
Summary: The window manager rotation allows the WM to controls the rotation of application windows. It is designed to support synchronized rotation for the multiple application windows at same time.
Reviewers: raster, seoz, cedric, Hermet
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D529
apparently I read the commit order wrong and this fix went in for 1.4.0, not 1.3.2, which means anyone who has 1.3.2 has been having lots of fun crashes for the past 24 hours
this was a fixme which was likely written sometime before July 2010 when the bug was fixed, just prior to the 1.3.1 release. I think it's probably okay to require that release since it's been 3+ years.
Summary:
If the property was successfully fetched the number of items stored in
val is returned, otherwise -1 is returned.
Note: Return value 0 means that the property exists but has no elements.
Reviewers: seoz
Reviewed By: seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D457
Summary: Add data set case of selection event for XDND selection if selection atom is XDND
Reviewers: raster
Reviewed By: raster
CC: JackDanielZ, woohyun, Hermet, seoz, cedric
Differential Revision: https://phab.enlightenment.org/D446
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
- No need for a separate xcb_connection here as we already have a
connection at this point so let's use that.
- Fix up formatting.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
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.
size_ret is used later as an argument for malloc, so it should be
positive. In addition this should ensure that
ecore_x_window_porp_property_get returns a positive value and is true if
we malloc data.
Hopefully also fixes CID 1135636
As bounds is a pointer, bounds + num will always be postive, so this is
an eternal loop. In addition, XFixesInvertRegion only accepts one
region, so num must be 1.
Fixes CID 1039469
Data returned from ecore_x_window_prop_property_get are malloced, so use
free, not XFree. Which also is consistent, as free was used on other
occasions.
I give up. people continually complain about these and submit them as crashes, so now they're only visible if you set ECORE_X_SYNC. the next step is an #ifdef ISCOMFITOR.
NB: Cannot really happen for 1.8 (as --disable-ecore-x-randr has no
effect), but really these should have been ifdef'd from the start.
NB: IMO, Don't think a ChangeLog is really needed for this....
Signed-off-by: Chris Michael <cp.michael@samsung.com>
the ECORE_X_SYNC environment variable exists to make ecore-x debugging synchronous.
printing X errors as they occur is useful for application developers; errors should not
be silenced just because they are inconvenient or plentiful.
because an error with no idea where it came from since its async is
pretty much usless noise. if you want this to be useful you literally
need to do an xsync every x call and be able to get backtraces... the
xsync then would be inside ecore-x. and of course this would be so
nastily slow that you need to make it an option at build...
allocate space for 'data'. If we return before using it, then free
'data'. If we use it later for XGetAtomName, then we can free if After
we have gotten the atom names and sent the event. (NB: XGetAtomName
will allocate it's own space for the returned name, so this is safe).
NB: Fixes Coverity CID1039271
Signed-off-by: Chris Michael <cp.michael@samsung.com>
allocates space for 'data'. We need to free that if we are going to
return before using it.
NB: Fixes Coverity CID1039270
Signed-off-by: Chris Michael <cp.michael@samsung.com>
returned from window_prop_property_get (as that does an allocation).
NB: Fixes Coverity CID1039266
Signed-off-by: Chris Michael <cp.michael@samsung.com>
getting window netwm types, then free any atoms returned by
prop_atom_list_get.
NB: Fixes Coverity CID1039265
Signed-off-by: Chris Michael <cp.michael@samsung.com>
declared our 'roots' variable as Ecore_X_Window, but were allocating
as 'Window').
buffer_alloc: "malloc(num * 8UL)" allocates memory.
CID 1039601: Allocation size mismatch (SIZECHECK)
5. incorrect_multiplication: Allocating a multiple of 8 bytes to
pointer of type Ecore_X_Window, which needs 4 bytes.
NB: Fixes Coverity CID1039601
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Add ecore_x_input_raw_select function placeholder:
NB: xcb does not have xinput 2 support yet BUT someone added those
functions to the xlib code WITHOUT adding them to the xcb code.
SPANK SPANK !!
Signed-off-by: Chris Michael <cp.michael@samsung.com>
LMAO: xcb stuff did not even compile because of this ... and how knows
how long it has been broken ...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
not noticed until recently.. we add a nul byte to the end of our text
selections that we shouldnt. most toolkits/apps skip it but some..
like emacs... dont.
return values (ie: if xrandr returns 0 crtcs, then we don't need to
allocate anything, etc, etc, etc).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83624
Let's be a bit pedantic here, if the number of returned modes is Zero,
then just free resources and get out.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83617
There is no point in returning a rectangle if we are filling in the
x, y, w, h params also. That's just stupidness.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83470
Add new ecore_x_randr_crtc_gamma functions that use the proper
structure.
Add some missing UNUSED for function params.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83465
Create new (proper) Ecore_X_Randr_Crtc_Gamma_Info structure.
Add new ecore_x_randr_crtc_gamma functions that use the proper
structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83464
NB: All functions which are in the Ecore_X header have now been
implemented except for 2.
NB: No support yet for the RandR 1.4 functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 83439
Subject: [E-devel] Bug fix : ecore x XI2 handler not to make button
event twice
Dear developers,
I have fixed a bug in ecore x xi2 handler.
Currently, ecore mouse down/move/up event are made twice for a X touch
event.
Among a couple of events, the first one is made by a X touch event and
the other is made
by a button event whose flags has XIPointerEmulated flag.
The (latter) button event is made from the (former) X touch event
whose flags has XITouchEmulatingPointer flag.
Basically, X touch events doesn't have XITouchEmulatingPointer flag in
its flags when it doesn't make a
(XIPointerEmulated) button event.
Thus I correct ecore_x_xi2.c not to make a mouse down/move/up event
when a X touch event has
XITouchEmulatingPointer flag.
SVN revision: 82869
Report from Klocwork. I checked that the actual max size of the name is
13 bytes. Now we allocate one more to hold the terminating NULL byte and
not write into unallocated memory.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
SVN revision: 80773
instead of -DHAVE_ECORE_X_XCB in the pc, which is a super-hack, add a
proper compile-time generated ecore_x_version.h that is included by
Ecore_X.h
This file contains HAVE_ECORE_X_XLIB or HAVE_ECORE_X_XCB defined and
will also define ECORE_X_VERSION_MAJOR and ECORE_X_VERSION_MINOR as
per other EFL (Ecore), also defining the runtime version in
Ecore_X_Version.
SVN revision: 80524
Subject: Re: Re: Re: [E-devel] [RFC] Virtual desktop window profile
I've attached 4th patch. May the 4th be with you.
ecore patch has been merged with efl and all files are based on r80123.
Thanks & Regards,
Gwanglim
------- Original Message -------
Sender : Daniel Juyung Seo<seojuyung2@gmail.com>
Date : 2012-12-04 01:55 (GMT+09:00)
Title : Re: Re: [E-devel] [RFC] Virtual desktop window profile
It looks ok to me.
Sorry but can you re-generate the patch according to the recent ecore
merge to efl single tree?
Daniel Juyung Seo (SeoZ)
On Thu, Nov 29, 2012 at 12:29 AM, Gwanglim Lee <gl77.lee@samsung.com>
wrote:
Dear Raster and Daniel Juyung Seo,
I've attached 3rd patches and test_config according to your reviews.
These are based on r79782.
[elementary & ecore]
1. "profile,set" -> "profile,changed" - done
2. spaces after EINA_LIST_FOREACH - done
3. variable type - keep
4. author - done
5. removing deprecated marking in patch - done
6. add elm_win_available_profiles_get to test_config for the debugging
purpose - done
7. check whether a given profile is present in an available profiles.
otherwise window profile will be one of the item
in available profiles. - newly added thing to the elm_win
8. merge with EO - done. :(
Any comments would be appreciated.
SVN revision: 80214