Commit Graph

178 Commits

Author SHA1 Message Date
Stefan Schmidt edcee427fd ecore_x_vsync: Remove ahadowign variable.
Also make sure we reset ok to FALSE here to keep the logic below correct.
This was actually a vlaid local shadow problem.
2014-09-04 13:16:30 +02:00
Carsten Haitzler 61efcf37f8 ecore - x vsync - whitelies only intel drm driver
do a version/driver name check and only support intel (as it's the one
i KNOW works - except if you turn on EXA).
2014-09-04 18:13:10 +09:00
Mike Blumenkrantz 3408f1bd6d shutup ecore-x vsync stupid log domain failures
@fix
2014-08-28 14:09:39 -04:00
Carsten Haitzler e4ed80dc1e ecore vsync - work around old kernels by blacklisting them
this is a bug workaround apparently old kernels that seems to get
vsync and timestamps wrong. 3.14 kernels and up only for now

@bug
2014-08-27 18:26:58 +09:00
Carsten Haitzler f8e036d5af ecore-x - handle prop get fail for xdnd type set
fix CID 1039693
2014-08-27 16:33:06 +09:00
Carsten Haitzler 18410e17ef ecore vsync - don't schedule vsync moe than needed - add debug too
this doesn't fix anything, but in going over the code finding driver
bug i notice we schedule once too often and we need more easy to use
debug info
2014-08-27 01:19:22 +09:00
Carsten Haitzler c6193f7497 ecore x vsync - if schedule fails, use fallback timeout to adapt faster 2014-08-24 19:51:42 +09:00
Cedric BAIL 2a51029340 ecore_x: fix debug message and try to shutdown in time. 2014-08-21 12:04:53 +02:00
Julien Isorce d3c56d5c74 xlib: fix undefined behaviour when freeing colormap too early
Summary:
On Ubuntu 14.04 it makes a 32 bit depth window un-responsive
to any XEvent.

Reviewers: cedric, raster

Reviewed By: raster

Subscribers: raster, capOM, cedric

Differential Revision: https://phab.enlightenment.org/D1236
2014-08-21 18:40:02 +09:00
Carsten Haitzler e430ee9467 ecore x vsync - be more conservative about DISPLAY string src
i hope this addresses CID 1229131 - don't trust the DISPLAY var
content much at all - limit it to [a-z][A-Z][0-9][-] only. hopefully
coverity is happier.
2014-08-13 18:10:58 +09:00
Carsten Haitzler 355e96bd64 more versions of vbox mods panic - blacklist all vboxvideo users from vsync 2014-08-11 16:06:54 +09:00
Gustavo Sverzut Barbieri a306c19871 ecore_x_vsync: hack to workaround bug in vboxvideo
there is a kernel oops when using vboxvideo 4.3.14 and one calls
drmWaitVBlank(), then do not init drm when using such driver.

    https://www.virtualbox.org/ticket/13265
2014-08-07 11:31:36 -03:00
Carsten Haitzler c12875ccd3 ecore vsync - add getenv env var to disable vsync attempt
this is a quick try to allow testing and fixing of the vbox vsync
kernel panic with ability to turn it off so debugging can be done
2014-08-07 14:27:07 +09:00
Carsten Haitzler 4af9664622 ecore-x - use last modifier mask found, not first to match xserver logic
this makes altgr not conflict as per
https://phab.enlightenment.org/T1273 by using the last, not first
occurance of the key in the mask modifier bits
2014-08-05 11:23:28 +09:00
Cedric BAIL fc159fbcae ecore_x: don't go below 0.
It seems that when things go wrong it does happen that we start with i == 0. It
will then have been walking into info[-1] 'happily'. Changing the test, to first
decrement and then compare should stop that issue.

This should @fix T1467.
2014-08-04 11:56:50 +02:00
Carsten Haitzler aad0192a89 clean vsync code - use do+while not goto. 2014-08-02 12:54:34 +09:00
Carsten Haitzler b0d4793d6f ecore-x-vsync - rearragnge to move vsync event input to thread
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.
2014-08-02 12:03:35 +09:00
Carsten Haitzler 0e330cfbe4 fix wakeups to not happen for now until i fix vsync 2014-08-01 19:00:18 +09:00
Carsten Haitzler 6e7b42111f ecore_x - vsync nvidia/glx service fix so it connects 1st not 2nd time 2014-08-01 08:47:06 +09:00
Carsten Haitzler 2be17655fa fix vsync display env var handling to be right 2014-07-30 08:38:21 +09:00
Carsten Haitzler aaefbaa43e ecore_x - vsync fix drm support to work again
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
2014-07-29 20:02:33 +09:00
Carsten Haitzler 2d63a70422 ecore x vsync animator support - add a glx based vsync ticker
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.
2014-07-28 23:00:34 +09:00
Carsten Haitzler 2da95771d4 ecore-evas - enable attempting to turn on dri2 vsync
this enables the x11 dri2 vsync enabling code for x11 ecore-evas
2014-07-25 14:45:50 +09:00
Carsten Haitzler 20c8065da6 fix mouse sticking when xkbmap changes whilst running
this fixes T1415
2014-07-15 20:39:13 +09:00
Carsten Haitzler e42f319d00 ecore-x - add x screensaver activate/reset calls 2014-07-07 23:36:34 +09:00
Carsten Haitzler c21120ec96 this fixes crazy french altgr setups that confuse binding masks
this fixes T1273 - @fix
2014-07-04 18:02:10 +09:00
Carsten Haitzler 007dd02c56 ecore_x - add some minor calls to be able to suspend/resume screensaver 2014-07-01 19:40:26 +09:00
Carsten Haitzler 4d8e12089c ecore-x - fix setting protocol atoms for icccm for 64bit
@fix
2014-05-11 09:09:03 +09:00
Mike Blumenkrantz f886c60a0d ecore_x_image_get() should not abort when shm creation fails 2014-05-09 10:18:38 -04:00
Mike Blumenkrantz 60966149ff ...also when shmat() fails 2014-05-09 10:18:29 -04:00
Mike Blumenkrantz 2719d17b17 ecore-x should print an error when shmget fails 2014-05-09 10:15:41 -04:00
Chris Michael 6994cb2a86 ecore-x: Set keycode in ecore_event structure during key press/release events
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>
2014-05-09 08:00:26 +01:00
Carsten Haitzler f921af0cb5 formatting - imrove readability of ecore x event table decl 2014-04-10 15:15:47 +09:00
Carsten Haitzler 5cdbcceccb fixes enlightenment working over non-shm paths.
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.
2014-03-26 15:54:40 +09:00
Daniel Hirt 3160b044fb ecore_x_selection: fix selection data freeing
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].
2014-02-09 13:12:39 +02:00
Gwanglim Lee 77092d94d4 ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
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
2014-02-09 09:46:51 +09:00
Jaehwan Kim 71c7d0e9ad ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
This Atom is for accessibility.
In the touch screen, when the finger moves continuously, it is uesd.
2014-02-07 14:51:28 +09:00
Doyoun Kang 541ef547ab ecore_x: Added API - ecore_x_e_illume_window_state_send
Summary:
there exists ecore_x_e_illume_window_state_set and ecore_x_e_illume_window_state_get,
but no ecore_x_e_illume_window_state_send.

Reviewers: raster, seoz, cedric

Reviewed By: seoz

CC: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D512
2014-02-07 13:05:00 +09:00
Mike Blumenkrantz 052fc85cd3 okay, bring back xrandr < 1.4 compat for ecore_x_randr_output_name_get
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
2014-01-21 16:07:38 -05:00
Mike Blumenkrantz 8cbd7c1622 nul terminate string from ecore_x_randr_output_name_get 2014-01-21 14:58:31 -05:00
Mike Blumenkrantz 1feed7a1ae ecore_x_randr_output_name_get fixme removed
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.
2014-01-20 22:16:18 -05:00
Jaehyun Cho 4432cd2e8e [ecore_x] Fix to handle paste null data case.
Summary: Do nothing when null data is pasted.

Reviewers: Hermet, raster

Reviewed By: raster

CC: seoz, raster, cedric

Differential Revision: https://phab.enlightenment.org/D473
2014-01-20 22:15:33 +09:00
Daniel Juyung Seo 2830507661 ecore_x_gesture: Cast maek pointer correctly.
Confirmed by the original author of libxgesture, Sungjin Park.
2014-01-15 20:48:33 +09:00
Sebastian Dransfeld 74bfb950c6 ecore_x: set cursor with xinput2
For some reason XDefineCursor might malfunction when using xinput2. So
when using xinput2, use XIDefineCursor. Also see:

https://bugs.launchpad.net/compiz/+bug/1179155
2014-01-15 08:30:25 +01:00
Seunghun Lee c4010a5da6 ecore ecore_x_e: check 0 and -1 for ecore_x_window_prop_window_get(). According to note for ecore_x_window_prop_window_get() :
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
2014-01-14 18:48:16 +09:00
Mike Blumenkrantz a279e13ecd ecore-x present fixups 2014-01-13 12:14:50 -05:00
Mike Blumenkrantz 131e0e1983 ecore-x now supports XPRESENT
see http://cgit.freedesktop.org/xorg/proto/presentproto/plain/presentproto.txt
2014-01-13 10:19:11 -05:00
Jaehyun Cho 4daf83269a [ecore_x] Set data of selection event for XDND selection
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
2014-01-10 15:46:15 +09:00
Jihoon Kim 8fcedfc017 fix 'found unknown command' warning in generating doxygen 2014-01-06 14:01:15 +09:00
Carsten Haitzler 2ef0f53401 ecore-x - rename new api 2013-12-27 12:02:48 +09:00